Swift 程序将十进制转换为二进制
swiftserver side programmingprogramming更新于 2025/9/20 7:07: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 就是一个二进制数。二进制数是计算机设备中最常用的数字系统,每个数字都由一位表示。
现在,我们使用以下任意一种方法将十进制数转换为二进制数(二进制数)。
以下是相同的演示 -
输入
假设给定的输入是 -
十进制数 = 20
输出
所需的输出将是 -
二进制数 = 10100
方法 1 - 使用位运算符
我们可以使用按位右移运算符和与 (&) 运算符将十进制数转换为二进制数。它比算术运算符快得多。
示例
以下程序演示如何将十进制转换为二进制。
import Foundation
import Glibc
// 十进制数
var decimalValue = 59
// 字符串二进制数
var binaryValue = ""
print("十进制数: ", decimalValue)
// 将十进制数转换为二进制数
while(decimalValue > 0) {
// 执行按位与运算,找出 1 和 0
if ((decimalValue & 1) == 1){
// 存储"1"
binaryValue += "1"
}
else {
// 存储"1"
binaryValue += "0"
}
// 将十进制数右移 1
decimalValue >>= 1
}
// 反转字符串
var res = String(binaryValue.reversed())
print("二进制数: ", res)
输出
十进制数: 59 二进制数: 111011
方法 2 - 使用幂
我们也可以通过提取数字中的每个数字,然后将提取出的数字乘以基数(10 的幂),并添加到二进制变量中,将二进制数转换为十进制数。程序结束时,您将获得二进制变量中的所有二进制数字。
示例
以下程序演示如何将十进制转换为二进制数。
import Foundation
import Glibc
// 十进制数
var decimalValue = 19
// 字符串二进制数
var binaryValue = 0
var count = 0.0
print("十进制值:", decimalValue)
// 将十进制转换为二进制
while(decimalValue != 0){
// 使用余数从十进制数中提取最右边的数字
let remainder = decimalValue % 2
// 计算 10 的幂
let value = pow(10.0, count)
// 现在将该数字与底数(2 的幂)相乘,并将该值添加到 binaryValue 中
binaryValue += remainder * Int(value)
// 将十进制数除以 2
decimalValue /= 2
// 存储指数值
count += 1
}
print("二进制值:", binaryValue)
输出
十进制值:19 二进制值:10011
方法 3 - 使用预定义函数
我们也可以使用 String(_:radix:) 将十进制转换为二进制。此方法根据给定的字符串/数字和基数创建一个新值。
语法
语法如下:
String(value, radix: base)
其中,value 是数字的 ASCII 表示形式。而 radix 用于将文本转换为整数值。基数的默认值为 10,取值范围为 2…36。
示例
以下程序演示如何将十进制转换为二进制。
import Foundation
import Glibc
// 十进制数
var number = 5
print("十进制数:", number)
// 将十进制转换为二进制
let BinaryNumber = String(number, radix: 2)
print("二进制数:", BinaryNumber)
输出
十进制数:5 二进制数:101
这里,我们使用以下代码将十进制数 5 转换为二进制数 -
let BinaryNumber = String(number, radix: 2)
其中 String(number, radix: 2) 将给定的十进制数转换为二进制数。因此,结果二进制数为 101。