二進制
二進制是逢二進一
第一行和第二行相加
1 | 0 | 1 | 1 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 1 | 0 | 1 | 0 |
二進制轉為十進制
我們把右邊當作低位,左邊是高位.
舉個例子:
3 | 2 | 1 | 0 | 位數 |
---|---|---|---|---|
1 | 0 | 1 | 0 | 二進制數 |
23 | 0 | 21 | 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 | 八進制數 |
83 | 0 | 0 | 80 | = 513 |
上面是個簡單的例子,下面進階一下
3 | 2 | 1 | 0 | 位數 |
---|---|---|---|---|
3 | 0 | 0 | 5 | 八進制數 |
3*83 | 0 | 0 | 5*80 | = 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 | 十六進制數 |
163 | 0 | 0 | 16 | = 4097 |
3 | 2 | 1 | 0 | 位數 |
---|---|---|---|---|
0 | 2 | 4 | 0 | 十六進制數 |
0 | 2*162 | 4*161 | 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