二进制与八进制、十六进制数之间的转换
为了区分不同进制的数,人们习惯在一个数的后面加上字母D(十进制)、B(二进制)、O(八进制)、H(十六进制)来表示其前面的数用的是哪种进位制。
二进制:
基数为2,即“逢二进一”。它含有两个数字符号:0,1。位权为2^i
特点:
1、简单可行:二进制仅有两个数码“0”和“1”,可以用两种不同的稳定状态如高电位和低电位来表示。
2、运算规则简单。以加法为例,0+0=0,1+0=1,0+1=1,1+1=10(逢二进一)。11+101=1000
缺点:
二进制数字冗长、书写量过大、容易出错、不便阅读。所以计算机文献中,常用八进制或十六进制表示。
八进制:
基数为8,即“逢八进一”。它含有8个数字符号:0、1、2、3、4、5、6、7。位权为8^i
十六进制:
基数为16,即“逢十六进一”。它含有16个数字符号:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A、B、C、D、E、F表示十进制数10,11,12,1,314,15。位权为16^i
(1)二进制转换为八进制
方法:从小数点开始分别向左、向右按每三位一组划分,不足三位的组以“0”补足。然后将每组3位二进制数用与其等值的一位八进制数字代替即可。
以11101010011.10111B划为八进制为例
011 101 010 011 . 101 110
↓ ↓ ↓ ↓ ↓ ↓
3 5 2 3 . 5 6
故原二进制数转换为3523.56O
(2)八进制转换为二进制
方法:每一位八进制数用等值的三位二进制数表示。
例:将477.563O 转换为二进制数
4 7 7 . 5 6 3
↓ ↓ ↓ ↓ ↓ ↓
100 111 111 101 110 011
故原八进制转换成二进制得10 0111 1111.1011 1001 1B
(3)二进制转换为十六进制
方法:从小数点开始分别向左、向右按每4位二进制数一组划分,不足4位的组以“0”补足然后将每组4为二进制数代之以1位十六进制数字表示即可。
例:将二进制1111101011011.10111B转换为十六进制数
0001 1111 0101 1011.1011 1000
↓ ↓ ↓ ↓ ↓ ↓
1 F 5 B B 8
即所得十六进制数为1F5B.B8H
(4)十六进制转换为二进制
方法:把每一位十六进制数用等值的4位二进制数表示
例:将6AF.C5H转换为二进制数。
6 A F . C 5
↓ ↓ ↓ ↓ ↓
0110 1010 1111 . 1100 0101
即所得的二进制数为110 1010 1111.1100 0101B