进制之间的转换
前言: 二进制(B):0,1 八进制(O) :0,1,2,3,4,5,6,7,8 十进制(D):0,1,2,3,4,5,6,7,8,9 十六进制(H):0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
一、 进制之间的转换关系图
所有进制转换都可以以十进制当作转换枢纽,先转换位十进制,在转换为其余想要转换的进制。二进制到八进制,到十六进制有快速转换方法,下面会说到。
二、 二进制(八进制,十六进制)与十进制之间的相互转换
1.二进制(B)<=>十进制(D)
二进制数1100100.101->十进制数:
方法:按权展开
十进制数100.625->二进制数:
方法:整数部分:除2取余;小数部分:乘2取整
注意:小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位)
2.十六进制(H)<=>十进制(D)
十六进制数1100100.101->十进制数:
方法:按权展开
十进制数100.625->十六进制数:
方法:整数部分:除16取余;小数部分:乘16取整
注意:小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位)
其他的与其原理相通,就不一一列举。
三、二进制and八进制and十六进制 之间的转换
1、二进制转为八进制(把二进制数从右向左每3位分为一组,不足左边补0,如果是负数记得最后结果加上符号)
八进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
二进制 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
根据上表三位一组,01101001 为 001<1>、101<5>、001<1>,对应的八进制分别为151
2、二进制转为十六进制(把二进制数从右向左每4位分为一组,不足左边补0,如果是负数记得最后结果加上符号)
十六进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
二进制 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 |
十六进制 | 9 | A | B | C | D | E | F |
二进制 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
根据上面四位一组,01101011 为 0110<6>、1011,对应十六进制即6B