天天看点

软件设计师:一.进制转换

1.其他进制转10进制:码数×基数ᴷ 

例如二进制10100.01=1×2⁴+1×2²+1×2⁻²      

例如七进制604.01=6×7²+4×7⁰+1×7⁻²

小数点左边整数部分,从右开始数,以0开始数得次方,如二进制第一个1数的是4

小数点右边小数部分,从左往右,以1开始数据的次方×-1,如二进制.01数的是2*-1=-2次方

看着很奇怪,一会从0开始数,一会从1开始数;其实按照这样去算,把二进制当做10进制则 10100.01=10000+100+0.1=1×10⁴+1×10²+1×10⁻²  然后把10换成各进制的码数是不是好理解点呢    

2.十进制转其他进制:除基取余法  

例如十进制10转二进制:

10/2=5 余 0

5/2=2  余 1

2/2=1  余 0

1/2=0  余 1

从上往下数得:1010

例如十进制10转八进制:

10/8=1 余 2

1/8=0   余 1

从上往下数得:12

3.二进制转八进制/十六进制:可以使用8421方法(8421法就是对应4位2进制数1111,从右往左数依次对应,如果二进制位数为0则对应0)

二进制转八进制,1位8进制对应3位二进制,从右往左数不够补0:

例如 10 001 110

         2     1    6

怎么使用8241法得来216,从右往左110对应4+2+0=6,001对应0+0+1=1,010对应0+2+0=2;

二进制转十六进制,1位16进制对应4位二进制,从右往左数不够补0:

例如 1000 1110

           8       E

怎么使用8241法得来8EH(十六进制一般后缀H),从右往左1110对应8+4+2+0=14 十六进制14对应E,1000对应8+0+0+0=8;则结果是8E后缀H=8EH

继续阅读