1.3 數制間的轉換
二進制數和十進制數之間的轉換
1.二進制數轉換為十進制數
例如:

2.十進制數轉換為二進制數
①整數部分的算法:可將十進制數連續除以2,直到商為0,每次所得余數依次是二進制由低位(LSB)到高位(MSB)的各位數字。 除2倒取余
②小數部分的算法:可將十進制小數乘以2,所得乘積的整數部分即為對應二進制小數最高位的值;將上次所得乘積的小數部分再乘以2,所得乘積的整數部分即為對應二進制小數次高位的值;重復執行以上操作,直到乘積的小數部分為0或所得小數部分已滿足精度要求為止。 乘2順取整

二進制數與八進制數、十六進制數之間的轉換
表1.1 八進制數的二進制編碼
八進制數 | 二進制編碼 | 八進制數 | 二進制編碼 |
---|---|---|---|
0 | 000 | 4 | 100 |
1 | 001 | 5 | 101 |
2 | 010 | 6 | 110 |
3 | 011 | 7 | 111 |
3、二進制數轉換為八進制數
由於,所以3位二進制數與1位八進制數有直接對應關系:以小數點為分界線,分別向左和向右每3位看作一組。遇到不足3位時填零補足即可,向左擴展時在高位補0,向右擴展時在低位補0。
例如 :
4、八進制數轉換為二進制數
例如:
二進制數與八進制數、十六進制數之間的轉換
表1.2 十六進制數的二進制編碼
十六進制數 | 二進制編碼 | 十六進制數 | 二進制編碼 |
---|---|---|---|
0 | 0000 | 8 | 1000 |
1 | 0001 | 9 | 1001 |
2 | 0010 | A | 1010 |
3 | 0011 | B | 1011 |
4 | 0100 | C | 1100 |
5 | 0101 | D | 1101 |
6 | 0110 | E | 1110 |
7 | 0111 | F | 1111 |
5、二進制數轉換為十六進制數
由於,所以4位二進制數與1位十六進制數有直接對應關系:以小數點為分界線,分別向左和向右每4位看作一組。遇到不足4位時填零補足即可,向左擴展時在高位補0,向右擴展時在低位補0。
例如 :
6、十六進制數轉換為二進制數
例如: