二进制与十六进制之间的转换
注意:这里说的“二进制与十六进制之间的转换”,仅适用于整数。
我们说,正常情况下,若想将二进制转换成十六进制,首先需要将二进制转换成十进制,然后再把十进制转换成十六进制。反之,若想将十六进制转换成二进制也是同样道理。
举一反三,其他进制与二进制之间的转换,也同样需要先转换成十进制。
但这样做很麻烦,而且也容易出错。
其实,对于十六进制与二进制之间的转换,还有一个更简单、更快的方法,就是将一个字节分成两部分,用4位二进制表示一位十六进制,二进制的高4位表示十六进制的高位,二进制的低4位表示十六进制的低位。
比如:将1001 0110转换成十六进制,具体过程如下:
二进制的高4位(即十六进制的高位)的计算过程如下:
二进制的低4位(即十六进制的低位)的计算过程如下:
所以,最终得到1001 0110的十六进制为0x96。
再例如:计算1100 1010 0111 1011的十六进制,具体过程如下:
采用同样的方法,计算十六进制的每一位,最终得到结果为0xCA7B。
现在,我们再反过来算,将十六进制转换成二进制。
比如:将0x58转换成二进制,具体过程如下:
将十六进制的高位转换成二进制的高4位:
将十六进制的低位转换成二进制的低4位:
所以,最终得到0x58的二进制为0101 1000。
再例如:将0x7E3A转换成二进制,具体计算过程如下:
采用同样的方法,将十六进制的每一位依次转换成二进制,最终得到的结果为:
0111 1110 0011 1010
注意:4位二进制可以表示16位数,即,其中10用A表示,11用B表示,以此类推,12=C,13=D,14=E,15=F。
二进制与八进制之间的转换
其实,二进制与八进制之间的转换方法和二进制与十六进制之间的转换方法是一样的。只不过,十六进制是用4位二进制来表示1位十六进制的,而八进制则是用3位二进制来表示1位八进制的,因为3位二进制刚好可以用来表示0~7这8个数字,即。
由于计算方法与“二进制与十六进制之间的转换方法”是一样的,所以这里就不再赘述了。这里就只简单地展示一下计算过程:
其中025是八进制数。