Swift 程序将二进制转换为十进制
swiftserver side programmingprogramming更新于 2025/9/20 6:52:17
本教程将讨论如何编写 Swift 程序将二进制转换为十进制数。
十进制数是指基数为 10 的数字。十进制数也称为十进制数系,包含 10 个数字:0、1、2、3、4、5、6、7、8、9。其中,十进制数中每位数字的权重是 10 的幂。例如,(89)10 = 8 x 101 + 9 x 100。
二进制数是指基数为 2 的数字。二进制数也称为十六进制数系二进制数系统中,每个数字的位置都具有 2 的幂次方权重。
例如,(1011)2 就是一个二进制数。二进制数是计算机设备中最常用的数字系统,每个数字都由一位表示。
现在,我们使用以下任意一种方法将二进制(以 2 为基数)转换为十进制(以 10 为基数)。
以下是相同的演示 -
输入
假设给定的输入是 -
二进制数 = 11011
输出
所需的输出将是 -
十进制数 = 27
方法 1:通过 2 的幂将十进制转换为二进制
示例
我们也可以通过提取每个数字将十进制转换为二进制从数字中提取数字,然后将提取出的数字乘以基数(2的幂),并添加到十进制变量中。程序结束时,您将获得十进制变量中的所有十进制数字。
例如 -
二进制数 = 101 十进制数 = 1 * 22 + 0 * 21 + 1 * 20 = 4 + 0 + 1 = 5
示例
以下程序演示如何将二进制转换为十进制数。
import Foundation
import Glibc
// 二进制数
var number = 101101
var decimalNum = 0
var baseVal = 1
print("二进制数: ", number)
// 将二进制转换为十进制
while(number > 0){
// 借助余数提取最右边的数字
//
let endVal = number % 10
number /= 10
// 将提取出的数字乘以底数(2 的幂)
// 然后将其添加到 decimalNum
decimalNum += endVal * baseVal
baseVal *= 2
}
print("十进制数: ", decimalNum)
输出
二进制数:101101 十进制数:45
方法2 - 使用 INT(_:RADIX:) 将二进制转换为十进制。
我们也可以使用 Int(_:radix:) 将二进制转换为十进制。此方法根据给定的字符串/数字和基数创建一个新值。
语法
语法如下:
Int(value, radix: base)
其中,value 是数字的 ASCII 表示形式。基数用于将文本转换为整数值。基数的默认值为 10,取值范围为 2…36。
示例
以下程序演示如何将二进制转换为十进制。
import Foundation
import Glibc
// 十进制数
var number = "11110"
print("二进制数:", number)
// 将二进制数转换为十进制数
let DecimalNumber = Int(number, radix: 2)!
print("十进制数:", DecimalNumber)
输出
二进制数:11110 十进制数:30
这里,我们使用以下代码将二进制数 11110 转换为十进制数 -
let DecimalNumber = Int(number, radix: 2)!
其中 Int(number, radix: 2)! 将给定的二进制数转换为十进制数。因此结果十进制数为 30。