進制的簡單介紹
整數可以使用四種不同的進制表示方式:
- 二進制 (Binary):由 0 和 1 組成,滿 2 進 1,以
0b
或0B
開頭表示。 - 十進制 (Decimal):由 0-9 組成,滿 10 進 1,是最常用的數值表示方式。
- 八進制 (Octal):由 0-7 組成,滿 8 進 1,以數字
0
開頭表示。 - 十六進制 (Hexadecimal):由 0-9 和 A(10)-F(15) 組成,滿 16 進 1,以
0x
或0X
開頭表示,字母 A-F 不區分大小寫。
進制的圖示
下面是一個包含十進制、二進制、八進制和十六進制的進制轉換表(從 0 到 10):
十進制 (Dec) | 二進制 (Bin) | 八進制 (Oct) | 十六進制 (Hex) |
---|---|---|---|
0 | 0000 | 0 | 0 |
1 | 0001 | 1 | 1 |
2 | 0010 | 2 | 2 |
3 | 0011 | 3 | 3 |
4 | 0100 | 4 | 4 |
5 | 0101 | 5 | 5 |
6 | 0110 | 6 | 6 |
7 | 0111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
進制轉換示例及計算方法
進制轉換示例及計算方法
1. 二進制轉換成十進制
規則:從最低位(右邊)開始,將每個位上的數提取出來,乘以 2 的 (位數 - 1) 次方,然后求和。
示例:將 0b1011
轉換為十進制:
0b1011 = 1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3
= 1 + 2 + 0 + 8 = 11
即 0b1011 = 11??
。
2. 八進制轉換成十進制
規則:從最低位(右邊)開始,將每個位上的數提取出來,乘以 8 的 (位數 - 1) 次方,然后求和。
示例:將 0234
轉換為十進制:
0234 = 4 * 8^0 + 3 * 8^1 + 2 * 8^2
= 4 + 24 + 128 = 156
即 0234 = 156??
。
3. 十六進制轉換成十進制
規則:從最低位(右邊)開始,將每個位上的數提取出來,乘以 16 的 (位數 - 1) 次方,然后求和。
示例:將 0x23A
轉換為十進制:
0x23A = 10 * 16^0 + 3 * 16^1 + 2 * 16^2
= 10 + 48 + 512 = 570
即 0x23A = 570??
。
4. 十進制轉換成二進制
規則:不斷將該數 除以 2,直到商為 0 為止,然后將每步得到的余數 倒序排列,即為對應的二進制數。
示例:將 34
轉換為二進制:
商 | 余數 |
---|---|
34 ÷ 2 = 17 | 0 |
17 ÷ 2 = 8 | 1 |
8 ÷ 2 = 4 | 0 |
4 ÷ 2 = 2 | 0 |
2 ÷ 2 = 1 | 0 |
1 ÷ 2 = 0 | 1 |
倒序排列余數:100010
,即 34?? = 0b100010
。
5. 十進制轉換成八進制
規則:不斷將該數 除以 8,直到商為 0 為止,然后將每步得到的余數 倒序排列,即為對應的八進制數。
示例:將 131
轉換為八進制:
商 | 余數 |
---|---|
131 ÷ 8 = 16 | 3 |
16 ÷ 8 = 2 | 0 |
2 ÷ 8 = 0 | 2 |
倒序排列余數:203
,即 131?? = 0203?
。
6. 十進制轉換成十六進制
規則:不斷將該數 除以 16,直到商為 0 為止,然后將每步得到的余數 倒序排列,即為對應的十六進制數。
示例:將 237
轉換為十六進制:
商 | 余數 |
---|---|
237 ÷ 16 = 14 | 13 (D) |
14 ÷ 16 = 0 | 14 (E) |
倒序排列余數:ED
,即 237?? = 0xED??
。
7. 二進制轉換成八進制
規則:從低位開始,將二進制數每 3 位一組,轉換成對應的八進制數。
示例:將 0b11010101
轉換為八進制:
-
分組(從右往左,每 3 位一組):
11(3) 010(2) 101(5)
-
轉換:
11? = 3?, 010? = 2?, 101? = 5?
結果:0b11010101 = 0325?
。
8. 二進制轉換成十六進制
規則:從低位開始,將二進制數每 4 位一組,轉換成對應的十六進制數。
示例:將 0b11010101
轉換為十六進制:
-
分組(從右往左,每 4 位一組):
1101(D) 0101(5)
-
轉換:
1101? = D??, 0101? = 5??
結果:0b11010101 = 0xD5??
。
9. 八進制轉換成二進制
規則:將八進制數每 1 位,轉換成對應的 3 位二進制數。
示例:將 0237
轉換為二進制:
2? = 010?
3? = 011?
7? = 111?
結果:0237? = 0b10011111
。
10. 十六進制轉換成二進制
規則:將十六進制數每 1 位,轉換成對應的 4 位二進制數。
示例:將 0x23B
轉換為二進制:
2?? = 0010?
3?? = 0011?
B?? = 1011?
結果:0x23B?? = 0b001000111011
。