如何快速將十進制數字轉換為二進制數字
最近我介紹了十進制數字系統(人類常用的系統)和二進制數字系統(機器常用的系統)。
在這篇教程中,我想解釋一下如何從十進制數字轉換為二進制數字。
對於整數和小數,我們有各自不同的轉換過程。
將十進制整數轉換為二進制
可以通過將十進制整數除以2來將其轉換為二進制。
取商,並繼續將商除以2,直到達到零為止。
每次執行這個除法時,注意“餘數”。現在將餘數列表反轉,即可獲得二進制形式的數字。
讓我們舉個例子,我想將29轉換為二進制:
[29\div2 = 14] 餘數為 1
[14\div2 = 7] 餘數為 0
[7\div2 = 3] 餘數為 1
[3\div2 = 1] 餘數為 1
[1\div2 = 0] 餘數為 1
表示十進制數字29的二進制數字為 11101
。
再舉個例子,將145十進制轉換為二進制:
[145\div2 = 72] 餘數為 1
[72\div2 = 36] 餘數為 0
[36\div2 = 18] 餘數為 0
[18\div2 = 9] 餘數為 0
[9\div2 = 4] 餘數為 1
[4\div2 = 2] 餘數為 0
[2\div2 = 1] 餘數為 0
[1\div2 = 0] 餘數為 1
表示十進制數字145的二進制數字為 10010001
。
將十進制小數轉換為二進制
小數部分單獨轉換,就像我們上面做的那樣。要將小數部分轉換為二進制,需要將其乘以2。
如果小數部分的整數部分仍小於 1
,則將其分配為 0
。如果大於 1
,則分配為 1
,然後繼續乘以2並遵循這個方案。
當小數部分等於0時停止。
這可能永遠不會發生,並且你會得到一個週期性的小數。在這種情況下,在某一點後停下來。數字的位數越多,在這種情況下,它的精度越高。
讓我們舉個例子。我想將 0.375
轉換為二進制:
[0.375\times2 = 0.75 \implies 0]
[0.75\times2 = 1.5 \implies 1]
[0.5\times2 = 1 \implies 1]
從大於 1
的數字 0
或 1
開始,從上到下讀取它(與整數部分相反)。最終,將 .375
翻譯為二進制的結果是 011
。
此時,您將整數部分(0
)和小數部分(011
)分開,並將它們組合起來。
數字 0.375
轉換為二進制為 0.011