一、十進制小數轉化為二進制小數
十進制小數轉換為二進制小數采用的方法:乘 2 取整,順序排列
具體做法:
- 用 2 乘十進制小數,可以得到成積,
- 將乘積的整數部分取出,再用剩余的小數部分乘 2,可以得到一個積。
- 將乘積的整數部分取出,再用剩余的小數部分乘 2,可以得到一個積。
- .........
按照這個步驟重復多次,直到乘積中的小數部分為 0。
此時0 或 1為2進制的最后一位。或是達到要求的精度為止。
然后將取出的整數部分順序排列起來,先取出來的整數作為二進制的高位有效位,后取的整數作為低位的有效位(順序提取,自上而下)
實例1:
0.1875 = (0.0011)B
0.1875* 2 = 0.375 _______ 取出整數部分 0;
0.375 * 2 = 0.75 ————— 取出整數部分 0;
0.75 * 2 = 1.5 —————— 取出整數部分 1;
0.5 * 2 = 1.0 —————— 取出整數部分 1;
順序取出,所以最后結果為 0.0011...
實例2:
0.2 = (0.00110011)B
0.2 * 2 = 0.4 ——————— 取出整數部分 0;
0.4 * 2 = 0.8 ——————— 取出整數部分 0;
0.8 * 2 = 1.6 ——————— 取出整數部分 1;
0.6 * 2 = 1.2 ——————— 取出整數部分 1;
0.2 * 2 = 0.4 ——————— 取出整數部分 0;
0.4 * 2 = 0.8 ——————— 取出整數部分 0;
0.8 * 2 = 1.6 ——————— 取出整數部分 1;
.............
順序取出,所以最后結果為 0.00110011
二、二進制小數轉換成十進制
二進制轉換成十進制的基本做法是:將二進制數首先寫成加權系數展開式,然后按十進制加法規則求和,按權相加。
實例1:
(1101.01)B 轉換成十進制的小數
1*(2^3) + 1*(2^2) + 0*(2^1) + 1*(2^0) + 0*(2^ -1) + 1*(2^ -2)
= 8 + 4 + 0 +1 + 0 + 0.25
= 13.25
實例2:
(1.101)B轉換成十進制小數
1*(2^0) + 1*(2^ -1) + 0*(2^ -2) + 1*(2^ -3)
= 1 + 0.5 + 0.125
= 1.625
三、十進制數轉換為二進制數
十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換,然后再合並。
十進制整數轉換為二進制整數采用 除2取余,倒序排列 的方式。
具體方法:
- 十進制整數除以 2 ,可以得到一個商和余數;
- 再用 2除商,又可以得到一個商和余數;
- ……
重復運算,直到商為 0 為止,然后再把得到的余數作為二進制的低位有效,得到的余數作為二進制的高位有效位,依次排列起來。