进制间的转换

一、十进制转换为N(二进制、八进制、十六进制)进制

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

1. 十进制整数转换为二进制整数

  十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
  十进制整数转二进制
  如:255=(11111111)B
  255/2=127=====余1
  127/2=63======余1
  63/2=31=======余1
  31/2=15=======余1
  15/2=7========余1
  7/2=3=========余1
  3/2=1=========余1

  1/2=0=========余1

 

2.十进制小数转换为二进制小数

  十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。

  然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。 

  十进制小数转二进制

  如:0.625=(0.101)B

  0.625*2=1.25======取出整数部分1

  0.25*2=0.5========取出整数部分0

  0.5*2=1==========取出整数部分1

十进制数转换成八进制和十六进制方法与上述转换成二进制的方法一样。

 

二、二进制转换成N(八进制、十进制、十六进制)

1. 二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。

           如:1010.1(2)=12.4(8)

 

2. 二进制数转换成十进制数:“按权展开求和”

(1011.01)2 =(1×2^3+0×2^2+1×2^1+1×2^0+0×2^-1+1×2^-2 )10

                         =(8+0+2+1+0+0.25)10

                         =(11.25)10

规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依奖递增,而十分位的数字的次数是-1,百分位上数字的次数是

-2,......,依次递减。         注意:不是任何一个十进制小数都能转换成有限位的二进制数

 

3. 二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每4位为一组用一位十六进制数的数字表示,不足4位的要用“0”补足4位,就得到一个十六进制数

           如:1010.1(2)=A.8(16)

 

三、八进制转换成N(二进制、十进制、十六进制)

1.   八进制转换二进制:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。

例:将八进制的37.416转换成二进制数: 3    7   . 4    1    6

                                                                     011  111  .100  001  110

 

2.   八进制转换十进制“按权展开求和”

例:12.4(8)=1*8^1+2*8^0+4*8^-1=10.5(10)

 

3.   八进制转换十六进制:先把八进制转成二进制或是十进制.再转成十六进制.

 

四、十六进制转换成N(二进制、八进制、十进制)

1.   十六进制转换二进制:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。

例:将十六进制数5DF.9 转换成二进制:     5    D     F  . 9    

                                                                   0101  1101  1111 .1001    

 即:(5DF.9)16 =(10111011111.1001)2

 

2.   十六进制转换八进制:先把十六进制转换成十进制或二进制,再转换成八进制

 

2.   十六进制转换十进制:“按权展开求和”

例:A.8(16)=A*16^0+8*16^-1=10.5(10)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值