使用递归将十进制数转换为二进制的 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。

更新于: 2022-12-13

269 次查看

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告