二进制与八进制、十六进制数之间的转换

为了区分不同进制的数,人们习惯在一个数的后面加上字母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

 

原文地址:https://www.cnblogs.com/py2019/p/12186711.html