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 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.