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 是一个二进制数。二进制数是计算机设备中最常用的数字系统,其中每个数字都由一个比特表示。

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

以下是相同的演示 -

输入

假设我们给定的输入是 -

Decimal number = 20

输出

所需的输出将是 -

Binary number = 10100

方法 1 - 使用按位运算符

我们可以使用按位右移运算符和 AND(&) 运算符将十进制数转换为二进制数。它比算术运算符快得多。

示例

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

import Foundation 
import Glibc

// Decimal Number 
var decimalValue = 59

// String binary number 
var binaryValue = ""

print("Decimal Number: ", decimalValue)

// Converting decimal to binary number 
while(decimalValue > 0) {
   // Perform bitwise AND operation to find 1 and 0 
   if ((decimalValue & 1) == 1){
      // Store “1” 
      binaryValue += "1" 
   } 
   else {
      // Store “1” 
      binaryValue += "0" 
   }
   
   // Right shift the decimal number by 1 
   decimalValue >>= 1 
}

// Reversing the string 
var res = String(binaryValue.reversed())

print("Binary Number: ", res)

输出

Decimal Number: 59 
Binary Number: 111011

方法 2 - 使用幂

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

示例

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

import Foundation 
import Glibc

// Decimal Number 
var decimalValue = 19

// String binary number 
var binaryValue = 0 
var count = 0.0

print("Decimal Value:", decimalValue)

// Converting decimal to binary number 
while(decimalValue != 0){

   // Extraction rightmost digit from the decimal number using remainder 
   let remainder = decimalValue % 2
   
   // Find power of 10 
   let value = pow(10.0, count)
   
   // Now multiply the digit with the base(power of 2) and add the value to the binaryValue 
   binaryValue += remainder * Int(value)
   
   // Divide the decimal number by 2 
   decimalValue /= 2
   
   // Store the exponent value 
   count += 1 
}

print("Binary Value:", binaryValue)

输出

Decimal Value: 19 
Binary Value: 10011

方法 3 - 使用预定义函数

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

语法

以下是语法 -

String(value, radix: base)

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

示例

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

import Foundation 
import Glibc

// Decimal number 
var number = 5

print("Decimal Number:", number)

// Converting decimal to binary 
let BinaryNumber = String(number, radix: 2)

print("Binary Number:", BinaryNumber)

输出

Decimal Number: 5 
Binary Number: 101

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

let BinaryNumber = String(number, radix: 2)

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

更新于: 2022-11-30

1K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.