目錄 顯示
十進位 -> 其他進位
一般做法
以10->8 为例, 我要把 771 转为 8 进制
771 / 8 = 96 ... 3 96 / 8 = 12 ... 0 12 / 8 = 1 ... 4 1 / 8 = 0 ... 1
将得到的余数反过来即可得到相应进制, 所以
.
快速做法
我现在要把 771 转换为 2 进制, 先找到离 771 最近的小于 771 的二次方, 这里是 512, 然后 771-=512=259, 259 离 256 最近…
使用这种方法要注意, 因为是从 $2^0$ 开始, 所以若包含 2^x 实际上是从右数第 x+1 位, 不要掉到坑里去!
其他進位 -> 十進位
举个例子, 我要把 23456(8) 转为十进制, 只需要把每位乘以对应的进制数次方就可以了.
其他進位 <-> 其他進位
2、8、16 均可脱离十进制快速互转. 具体原理可见下表:
16 进制 | 8 进制 | 2 进制 |
0 | 0 | 0000 |
1 | 1 | 0001 |
2 | 2 | 0010 |
3 | 3 | 0011 |
4 | 4 | 0100 |
5 | 5 | 0101 |
6 | 6 | 0110 |
7 | 7 | 0111 |
8 | 1000 | |
9 | 1001 | |
A | 1010 | |
B | 1011 | |
C | 1100 | |
D | 1101 | |
E | 1110 | |
F | 1111 |
由此可见, 16进制 <-> 二进制, 八进制 <-> 二进制 都是可以行的, 只要从右到左按位转换就可以!
7 | A | B | D 0111 | 1010 | 1011 | 1101 --- 7ABD(16) = 0111101010111101(2)
5 | 6 | 1 101 | 110 | 001 --- 561(8) = 101110001(2)
0101 | 1010 | 1111 | 0001 5 | A | F | 1 --- 0101101011110001(2) = 5AF1(16)