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。