Swift 程序使用递归将十进制数转换为二进制

swiftserver side programmingprogramming更新于 2025/9/19 5:37:17

本教程将讨论如何编写 Swift 程序,使用递归将十进制数转换为二进制数。

十进制数是基数为 10 的数字。十进制数也称为十进制数系统,包含 10 个数字:0、1、2、3、4、5、6、7、8、9。其中,十进制数中每位数字的权重是 10 的幂。

二进制数是基数为 2 的数字。二进制数也称为十六进制数系统,只包含两个数字:1 和 0。其中,二进制数中每位数字的权重是 2 的幂。

例如,(1011)2 就是一个二进制数。二进制数是计算机设备中最常用的数字系统,其中每个数字都由一个位表示。

这里我们使用递归将十进制转换为二进制。递归是一个函数调用自身来完成指定任务的过程。

以下是相同的演示 -

输入

假设给定的输入是 -

十进制数 = 10

输出

所需的输出将是 -

二进制数 = 1010

算法

以下是算法 -

步骤 1 - 创建递归函数

步骤 2 - 声明一个变量来存储结果。

步骤 3 - 设置基本条件以停止递归函数。这里的基本条件是 (num != 0)

步骤 4 − 通过调用函数本身将十进制数转换为二进制数并返回结果。

StoreBinary = (num%2)+10*ConvertBinary(num: num/2)

步骤 5 − 声明另一个变量来存储十进制数。

步骤 6 − 调用该函数并将十进制数传递给它。

步骤 7 − 打印输出

示例

以下程序演示如何使用递归将十进制数转换为二进制数。

import Foundation
import Glibc

// 将十进制转换为二进制的递归函数
func ConvertBinary(num: Int)->Int{
   var StoreBinary:Int
    
   // 基本条件
   if (num != 0){
    
      // 将十进制转换为二进制
      StoreBinary = (num%2)+10*ConvertBinary(num: num/2)
      return StoreBinary
   }
   else{
      return 0
   }
}

// 十进制数
var decimalNum = 11

print("十进制数为:(decimalNum)")
print("转换后的二进制数为:", ConvertBinary(num
:decimalNum))

输出

十进制数为:(decimalNum)
转换后的二进制数为:1011

在上面的代码中,我们创建了一个名为 ConvertBinary() 的递归函数。该函数通过递归调用自身将十进制数转换为二进制数。因此,输入的十进制数为 11,因此等效的二进制数为 1011。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部