如何將十進位制轉換為二進位制?
十進位制數是公眾最熟悉的數制。它是以 10 為基數,只有 10 個符號 - 0、1、2、3、4、5、6、7、8 和 9。而二進位制數是數字系統、網路和計算機專業人員最熟悉的數制。它是以 2 為基數,只有 2 個符號:0 和 1,這些數字分別可以用關和開表示。
從十進位制到二進位制數制的轉換
有各種直接或間接方法可以將十進位制數轉換為二進位制數。在間接方法中,您需要將十進位制數轉換為其他數制(例如,八進位制或十六進位制),然後您可以透過將每個數字轉換為二進位制數來轉換為二進位制數。
示例 - 將十進位制數 125 轉換為二進位制數。
First convert it into octal or hexadecimal number, = (125)10 = (1x82+7x81+5x80)10 or (7x161+13x160)10 Because base of octal and hexadecimal are 8 and 16 respectively. = (175)8 or (7D)16 Then convert it into binary number by converting each digit. = (001 111 101)2 or (0111 1101)2 = (01111101)2
但是,有兩種直接方法可用於將十進位制數轉換為二進位制數:使用餘數進行短除法(對於整數部分),使用結果進行短乘法(對於小數部分)以及使用 2 的降冪和減法。這些方法將在下面進行解釋。
(a) 使用餘數進行短除法(對於整數部分)
這是一種簡單的方法,涉及到對要轉換的數字進行除法。假設十進位制數為 N,則將其除以 2,因為二進位制數制的基數為 2。記下餘數的值,它將為 0 或 1。再次除以剩餘的十進位制數,直到它變為 0,並記下每個步驟的每個餘數。然後從下到上(或以相反的順序)寫下餘數,這將是給定十進位制數的等效二進位制數。這是轉換整數十進位制數的過程,演算法如下所示。
將十進位制數作為被除數。
將此數除以 2(2 是二進位制的基數,因此這裡是除數)。
將餘數儲存在一個數組中(由於除數為 2,因此它將為 0 或 1)。
重複上述兩個步驟,直到數字大於零。
以相反的順序列印陣列(這將是給定十進位制數的等效二進位制數)。
請注意,被除數(此處為給定的十進位制數)是被除的數,除數(此處為二進位制的基數,即 2)是被除數除以的數,商(剩餘的被除十進位制數)是除法的結果。
示例 - 將十進位制數 112 轉換為二進位制數。
由於給定的數字是十進位制整數,因此使用上述演算法使用餘數進行短除法。
除法 | 餘數 (R) |
---|---|
112 / 2 = 56 | 0 |
56 / 2 = 28 | 0 |
28 / 2 = 14 | 0 |
14 / 2 = 7 | 0 |
7 / 2 = 3 | 1 |
3 / 2 = 1 | 1 |
1 / 2 = 0 | 1 |
現在,從下到上(以相反的順序)寫下餘數,這將是 1110000,它是十進位制整數 112 的等效二進位制數。
但是上述方法不能轉換混合(帶有整數和小數部分的數字)十進位制數的小數部分。對於十進位制小數部分,方法如下所述。
(b) 使用結果進行短乘法(對於小數部分)
假設十進位制小數部分為 M,則將其乘以 2,因為二進位制數制的基數為 2。記下整數部分的值,它將為 0 或 1。再次乘以剩餘的十進位制小數,直到它變為 0,並記下每個步驟的結果的每個整數部分。然後寫下記錄的整數部分的結果,這將是給定十進位制數的等效小數二進位制數。這是轉換小數十進位制數的過程,演算法如下所示。
將十進位制數作為被乘數。
將此數乘以 2(2 是二進位制的基數,因此這裡是乘數)。
將結果的整數部分的值儲存在一個數組中(由於乘數為 2,因此它將為 0 或 1)。
重複上述兩個步驟,直到數字變為零。
列印陣列(這將是給定十進位制小數的等效小數二進位制數)。
請注意,被乘數(此處為十進位制小數)是被乘數乘以乘數(此處為基數 2,即 2)的數。
示例 - 將十進位制小數 0.8125 轉換為二進位制數。
由於給定的數字是十進位制小數,因此使用上述演算法使用整數部分進行短乘法。
乘法 | 結果整數部分 (R) |
---|---|
0.81252 x 2= 1.625 | 1 |
0.6252 x 2= 1.25 | 1 |
0.252 x 2= 0.50 | 0 |
0.52 x 2= 1.0 | 1 |
0 x 2 = 0 | 0 |
現在,寫下這些結果整數部分,這將是 0.11010,它是十進位制小數 0.8125 的等效二進位制小數。
2 的降冪和減法
此方法是猜測十進位制數的二進位制數。您需要繪製一個 2 的冪表,然後取給定的十進位制數並將其從不返回負結果的最大可能的 2 的冪中減去。然後在表中將此冪的框中放入 1。重複這些步驟,直到數字大於零。在所有其他空框中放入 0,並獲取輸出,這將是給定十進位制數的等效二進位制數。對於整數部分,演算法如下所述。
從製作圖表開始。
查詢 2 的最大冪。
移動到下一個較低的 2 的冪。
減去每個可以容納的連續數字,並用 1 標記它。
繼續直到到達圖表的末尾。
寫出二進位制答案。
示例 - 將十進位制數 205 轉換為二進位制數。
取 2 的冪表,
十進位制 | 27 = 128 | 26 = 64 | 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
二進位制 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
Subtract given number 205 from maximum possible power of 2, = 205 - 128 = 77 Put 1 in box of 128 (= 27), then again subtract remaining number 77 from maximum possible power of 2, = 77 - 64 =13 Put 1 in box of 64 (= 26), then repeat above steps, = 13 - 8 =5 = 5 - 4 =1 = 1 - 1 =0 And put a 0 in remaining boxes. Therefore equivalent binary number will be 11001101 of given 205 decimal number.