用字母来表示不同的进制,B(Binary)表示二进制,O(Octal)表示八进制,D(Decimal)或不加表示十进制,H(Hexadecimal)表示十六进制。
一、其它进制转十进制
二进制转十进制
方法:
将二进制数从低位到高位计算(右边为低位),第0位的权值是2的0次方,第1位的权值是2的1次方,依次类推。 二进制就是逢二进1,二进制数采用0和1表示一个数。
例如将(1100100)B转换成十进制
1. 第0位 0 x 2^0 = 0;
2. 第1位 0 x 2^1 = 0;
3. 第2位 1 x 2^2 = 4;
4. 第3位 0 x 2^3 = 0;
5. 第4位 0 x 2^4 = 0;
6. 第5位 1 x 2^5 = 32;
7. 第6位 1 x 2^6 = 64;
8. 读数,把结果值相加,0+0+4+0+0+32+64=100,即(1100100)B=(100)D。
八进制转十进制
方法:
同二进制计算一样,从低位到高位,权值是8的n次方,第0位的权值是8的0次方,第1位的权值是8的1次方,依次类推。八进制就是逢8进1,八进制数采用 0~7这八数来表达一个数。
例如将(144)O转化成十进制
1. 第0位 4 x 8^0 = 4;
2. 第1位 4 x 8^1 = 32;
3. 第2位 1 x 8^2 = 64;
4. 读数,把结果值相加,4+32+64=100,即(144)O=(100)D。
十六进制转十进制
方法:
同二进制计算一样,从低位到高位,权值是16的n次方,第0位的权值是16的0次方,第1位的权值是16的1次方,依次类推。十六进制就是逢16进1,十六进制的16个数为0123456789ABCDEF。
例如将(64)H转化成十进制
1. 第0位 4 x 16^0 = 4;
2. 第1位 6 x 16^1 =96;
3. 读数,把结果值相加,4+96=100,即(64)H=(100)D。
二、十进制转其他进制
十进制转二进制
方法:除2取余,将十进制数依次除2取余数,然后将最后一次的余数作为最高位,类推。
例如 将(100)D转化成二进制
1. 商100除2,商50余0;
2. 商50除2,商25余0;
3. 商25除2,商12余1;
4. 商12除2,商6余0;
5. 商6除2,商3余0;
6. 商3除2,商1余1;
7. 商1除2,商0余1;
8. 一直除到商为0,读数,最后的值为最高位,即二进制(1100100)B。
十进制转八进制
方法:除8取余,将十进制数依次除8取余数,如果出现小数,则将小数单独拿出来乘8取整数,然后将最后一次的余数作为最高位,类推。整数部分要除8取余,小数部分乘8取整。
例如 将(100)D转化成八进制
1. 商100除8,商12.5余0;0.5乘8取4;
2. 商12除8,商1.5余0;0.5乘8 取4;
3. 商1除8,商0.125余0;0.125乘8 取1;
4. 这样计算起来不用算余数,直接加整数,读数,最后的值为最高位,即八进制(144)O
再例如 将(300)D转化成八进制
1. 商300除8,商37.5余0;0.5乘8 取4;
2. 商37除8,商4.625余0;0.625乘8 取5;
3. 商4除8,商0.5余0;0.5乘8 取4;
4. 这样计算起来不用算余数,直接加整数,读数,最后的值为最高位,即八进制(454)O
同时也可以使用间接法,先将十进制转换成二进制,然后将二进制又转换成八进制。
十进制转十六进制
方法:除16取余。将十进制数依次除16取余数,如果出现小数,则将小数单独拿出来乘16取整数,然后将最后一次的余数作为最高位,类推。整数部分要除16取余,小数部分乘16取整。
例如 将(100)D转化成十六进制
1. 商100除16,商6.25余0;0.25乘16取4;
2. 商6除16,商0.385余0;0.375乘16 取6;
3. 这样计算起来不用算余数,直接加整数,读数,最后的值为最高位,即十六进制(64)H
二进制转八进制
方法:从低位往高位 取三位合成一位 不足三位的补零。小数位不变
对应关系表
二进制 | 八进制 |
---|---|
000 | 0 |
001 | 1 |
010 | 2 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
例如 将(1100100)B 转化成八进制
从右往左 100 为4 100为4 001为1 即 144
八进制转二进制
方法:对应上面表格进行拆数 小数位不变
例如 将(144)O转化成二进制
从右往左 4对应100 4对应100 1对应001 即001100100 高位为零 去掉 得到1100100
二进制转十六进制
方法:从低位往高位 取四位合成一位 不足四位的补零。 小数位不变
二进制 | 十六进制 |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
例如 将(1100100)B转化成十六进制
从右往左 4对应0100 6对应0110 不足四位高位补零即64
十六进制转二进制
方法:对应上面表格进行拆数 小数位不变
例如 将(64)H转化成二进制
从右往左 4对应0100 6对应0110 即01100100 高位为零 去掉 得到1100100
八进制与十六进制互转
方法:先转成二进制 在通过二进制转对应进制
以上为最基本的进制转换,有些地方不全有待补充。参考链接