使用递归将十进制数转换为二进制的 Swift 程序
本教程将讨论如何编写 Swift 程序,使用递归将十进制数转换为二进制。
十进制数是指基值为 10 的数字。十进制数也称为基数 10 数字系统,包含 10 个数字:0、1、2、3、4、5、6、7、8、9。在这里,十进制数中每个数字的位置的权重是 10 的幂。
二进制数是指基值为 2 的数字。二进制数也称为基数 16 数字系统,仅包含两个数字 1 和 0。在这里,二进制数中每个数字的位置的权重是 2 的幂。
例如,(1011)2 是一个二进制数。二进制数是计算机设备中最常用的数字系统,其中每个数字都由一个比特表示。
这里我们使用递归将十进制转换为二进制。递归是一个函数调用自身以完成指定任务的过程。
以下是相同内容的演示 -
输入
假设我们给定的输入是 -
Decimal Number = 10
输出
期望的输出将是 -
Binary number = 1010
算法
以下是算法 -
步骤 1 - 创建一个递归函数
步骤 2 - 声明一个变量来存储结果。
步骤 3 - 设置停止递归函数的基本条件。这里基本条件是 (num != 0)
步骤 4 - 通过调用函数本身将十进制数转换为二进制数,并返回结果。
StoreBinary = (num%2)+10*ConvertBinary(num: num/2)
步骤 5 - 声明另一个变量来存储十进制数。
步骤 6 - 调用函数并将十进制数传递给它。
步骤 7 - 打印输出
示例
以下程序显示了如何使用递归将十进制数转换为二进制。
import Foundation import Glibc // Recursive function to convert decimal to binary func ConvertBinary(num: Int)->Int{ var StoreBinary:Int // Base condition if (num != 0){ // Converting decimal to binary StoreBinary = (num%2)+10*ConvertBinary(num: num/2) return StoreBinary } else{ return 0 } } // Decimal Number var decimalNum = 11 print("Decimal number is: (decimalNum)") print("Converted binary number is: ", ConvertBinary(num :decimalNum))
输出
Decimal number is: (decimalNum) Converted binary number is: 1011
在上面的代码中,我们创建了一个名为 ConvertBinary() 的递归函数。此函数通过递归调用自身将十进制数转换为二进制。因此,输入的十进制数为 11,因此等效的二进制数为 1011。
广告