Swift程序:将二进制转换为十进制


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

十进制数是以10为基数的数字。十进制数也称为基数10数系,包含10个数字:0、1、2、3、4、5、6、7、8、9。这里,十进制数中每个数字的位置权重都是10的幂。例如,(89)10 = 8 x 101 + 9 x 100

二进制数是以2为基数的数字。二进制数也称为基数2数系,只包含两个数字1和0。这里,二进制数中每个数字的位置权重都是2的幂。

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

现在我们使用以下任何一种方法将二进制(基数2)转换为十进制(基数10)数。

以下是演示:

输入

假设我们的给定输入是:

Binary number = 11011

输出

期望的输出是:

Decimal number = 27

方法1:使用2的幂将十进制转换为二进制数

示例

我们还可以通过从数字中提取每个数字,然后将提取的数字乘以基数(2的幂),并添加到十进制变量中来将十进制转换为二进制数。程序结束时,您将在十进制变量中获得所有十进制数字。

例如:

Binary number = 101 
Decimal Number = 1 * 22 + 0 * 21 + 1 * 20 = 4 + 0 + 1 = 5

示例

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

import Foundation 
import Glibc

// Binary number 
var number = 101101 
var decimalNum = 0 
var baseVal = 1

print("Binary Number: ", number)

// Converting binary into decimal 
while(number > 0){
   // Extraction rightmost with the help 
   // of remainder 
   let endVal = number % 10 
   number /= 10

   // Multiple the extracted digit with the base(power of 2) 
   // and then add it to the decimalNum 
   decimalNum += endVal * baseVal
   baseVal *= 2 
} 
print("Decimal Number: ", decimalNum)

输出

Binary Number: 101101 
Decimal Number: 45

方法2 - 使用Int(_:radix:)将二进制数转换为十进制数系。

我们还可以使用Int(_:radix:)将二进制数转换为十进制数系。此方法根据给定的字符串/数字和基数创建一个新值。

语法

以下是语法:

Int(value, radix: base)

这里,value是数字的ASCII表示。而radix用于将文本转换为整数值。radix的默认值为10,其范围可以是2…36。

示例

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

import Foundation 
import Glibc

// Decimal number 
var number = "11110"

print("Binary Number:", number)

// Converting binary to decimal number 
let DecimalNumber = Int(number, radix: 2)!

print("Decimal Number:", DecimalNumber)

输出

Binary Number: 11110 Decimal Number: 30

这里,我们使用以下代码将二进制数11110转换为十进制数:

let DecimalNumber = Int(number, radix: 2)!

其中Int(number, radix: 2)! 将给定的二进制数转换为十进制数。因此,结果十进制数为30。

更新于:2022年11月30日

898 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告