關於常見進位的轉換
- 2020 年 4 月 9 日
- 筆記
了解進位之間是如何進行轉換的
二進位
二進位是逢二進一
第一行和第二行相加
|
1 |
0 |
1 |
1 |
---|---|---|---|---|
|
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
二進位轉為十進位
我們把右邊當作低位,左邊是高位.
舉個例子:
3 |
2 |
1 |
0 |
位數 |
---|---|---|---|---|
1 |
0 |
1 |
0 |
二進位數 |
2^3^ |
0 |
2^1^ |
0 |
= 10 |
點撥:
可以看到3210是固定組,往左越來越大,我們從右往左看,二進位數只有0和1,當數字為0時代表沒有則為0,如果數字是1,我們就要考慮當前位置對於的位數是多少,例如: 從右往左的第二個數字就是1,而當前位數是1,所以就是2的1次方.最後把所有轉換的數字加起來即可. 總結: 位數 = n,遇到1考慮n,2的n次方
上面的例子有個特點就是8,4,2,1這是所有二進位數轉十進位通用的
1110 = 14 (8+4+2+0)
1010 = 10 (8+0+2+0)
0001 = 1 (0+0+0+1)
八進位
八進位就是逢8進1
第一行和第二行相加
|
7 |
0 |
1 |
1 |
---|---|---|---|---|
|
1 |
2 |
1 |
5 |
1 |
0 |
2 |
2 |
6 |
八進位轉十進位
3 |
2 |
1 |
0 |
位數 |
---|---|---|---|---|
1 |
0 |
0 |
1 |
八進位數 |
8^3^ |
0 |
0 |
8^0^ |
= 513 |
上面是個簡單的例子,下面進階一下
3 |
2 |
1 |
0 |
位數 |
---|---|---|---|---|
3 |
0 |
0 |
5 |
八進位數 |
3*8^3^ |
0 |
0 |
5*8^0^ |
= 1541 |
總結: 原數 * 8的n次方(位數=n)
十六進位
十六進位就是逢十六進一
|
f |
9 |
9 |
1 |
---|---|---|---|---|
|
1 |
2 |
9 |
c |
1 |
0 |
c |
2 |
d |
因為我們要把數字轉為十六進位,所以大於等於10的數字我們用字母代替
A為10,B為11以此類推
十六進位轉十進位
3 |
2 |
1 |
0 |
位數 |
---|---|---|---|---|
1 |
0 |
0 |
1 |
十六進位數 |
16^3^ |
0 |
0 |
16 |
= 4097 |
3 |
2 |
1 |
0 |
位數 |
---|---|---|---|---|
0 |
2 |
4 |
0 |
十六進位數 |
0 |
2*16^2^ |
4*16^1^ |
0 |
= 576 |
總結: 原數 * 16的n次方(位數=n)
十進位轉X進位
二進位
將要轉換的數字直接除二,最後商為0為止
要轉換的數字 |
商 |
餘數 |
---|---|---|
56 |
28 |
0 |
28 |
14 |
0 |
14 |
7 |
0 |
7 |
3 |
1 |
3 |
1 |
1 |
1 |
0 |
1 |
所以56的二進位是111000(從下往上排列)
八進位
要轉換的數字 |
商 |
餘數 |
---|---|---|
99 |
12 |
3 |
12 |
1 |
4 |
1 |
0 |
1 |
所以99的八進位是143(從下往上排列)
十六進位
要轉換的數字 |
商 |
餘數 |
---|---|---|
498 |
31 |
2 |
31 |
1 |
15 |
1 |
0 |
1 |
所以498的十六進位是1f2(從下往上排列)
二進位,八進位,十六進位之間的轉換
二進位和八進位
八進位的1位對應二進位的3位
二進位>>八進位
10111101010101010010101
- 我們把這個二進位數字進行分組,每組3位
可以分為
010 111 101 010 101 010 010 101
- 然後按照二進位規律轉換
分別對應2 7 5 2 5 2 2 5
這個數字就是八進位數
八進位>>二進位
1 2 4 5 6 7
- 直接把每位數字對應的數進行轉換,使用二進位規律8,4,2,1
分別對應,也是從右往左
001 010 100 101 110 111
二進位和十六進位
二進位>>十六進位
十六進位的1位對應二進位的4位
010111101010101010010101
- 我們把這個二進位數字進行分組,每組4位
可以分為
0101 1110 1010 1010 1001 0101
- 然後按照二進位規律轉換
分別對應5 e a a 9 5
十六進位>>二進位
9 a 8 f 7
- 直接把每位數字對應的數進行轉換,使用二進位規律8,4,2,1
分別對應,也是從右往左
1001 1010 1000 1111 0111
擴展
八進位和十六進位
我們要把欲轉換的數字轉換為二進位,然後再進行轉換
八進位>>十六進位
37231
- 轉為二進位
11111010011001
- 轉為十六進位,分組每組4位
0011 1110 1001 1001
對應的數為3 e 9 9
十六進位>>八進位
8fc6
- 轉為二進位
1000111111000110
- 轉為八進位,分3組每組3位
001 000 111 111 000 110
對應的數為:1 0 7 7 0 6
部落格內容遵循 署名-非商業性使用-相同方式共享 4.0 國際 (CC BY-NC-SA 4.0) 協議 本文永久鏈接是:https://mrhuanhao.cn/2020/03/23/binary/ 轉載時,請註明文章來源!!!