如何快速將以十進制數製表示的數字轉換為二進制數制
我最近介紹了小數係統,我們就是人類二進制數制,一台機器就習慣了。
在本教程中,我想解釋如何從十進制數轉換為二進制數。
我們有一個單獨的處理整數和分數的過程。
將整數從十進制轉換為二進制
A decimal integer can be converted to binary by dividing it by 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
。
將分數從十進制轉換為二進制
The decimal part of the fraction is converted separately like we did above. To convert the fractional part you need to multiply it by 2.
如果分數的整數部分仍然小於1
,給它分配一個0
。如果是>1
,然後為其分配一個1
,然後繼續乘以2並遵循此方案。
You stop when the fractional part is equal to 0.
這可能永遠不會發生,並且您有周期性的分數。在這種情況下,您要停下來。在這種情況下,數字越多,其精度就越高。
讓我們舉個例子。我想轉換0.375
到二進制。
\ [0.375 \ times2 = 0.75 \ implies 0 \]
\ [0.75 \ times2 = 1.5 \ implies 1 \]
\ [0.5 \ times2 = 1 \表示1 \]
你拿號碼0
或者1
取決於>1
,然後從上到下閱讀(而不是像我們對整數部分所做的那樣從下至上)。最終翻譯的二進製文件.375
是011
。
此時,您取整數部分(0
)和小數部分(011
),然後將它們組成。
數字0.375
轉換為二進制是0.011
更多計算機教程:
- 有限狀態機
- 小數係統
- 二進制數係統
- 將數字從十進制轉換為二進制
- 可打印的ASCII字符列表
- 不可打印的ASCII字符列表
- 如何使用Mac連接到Raspberry Pi
- 如何確保Raspberry Pi始終具有相同的IP地址
- 關於COBOL的簡短介紹