各种进制之间的转换方法
⑴二进制B转换成八进制Q:以小数点为分界线,整数部分从低位到高位,小数部分从高位到低位,每3位二进制数为一组,不足3位的,小数部分在低位补0,整数部分在高位补0,然后用1位八进制的数字来表示,采用八进制数书写的二进制数,位数减少到原来的1/3。
例:◆二进制数转换成八进制数:110110.1011B = 110  110 . 101  100B
                                                 
                                            6   .  5  4 = 66.54Q
    ◆八进制数36.24Q转换成二进制数:
                              3  6  .  2  4Q
                                   
                            011 110 . 010 100 = 11110.0101B
八进制数和二进制数对应关系表
八进制Q
0
1
2
3
4
5
6
7
二进制B
000
001
010
011
100
101
110
111
⑵二进制数B转换成十六进制数H:以小数点为分界线,整数部分从低位到高位,小数部分从高位到低位,每4位二进制数为一组,不足4位的,小数部分在低位补0,整数部分在高位补0,然后用1位十六进制的数字来表示,采用十六进制数书写的二进制数,位数可以减少到原来的1/4。
例:◆二进制数转换成十六进制数:
101101011010.100111B = 1011  0101  1010 . 1001  1100B
               
B    5    A  C = B5A.9CH
◆十六进制数转换成二进制数:
  AB.FEH = A    B F    EH
                   
          1010 1011. 1111  1110 = 10101011.1111111B
十六进制数、十进制数和二进制数对应关系表
十六进制H
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
十进制D
0
1
2
3
4
5二进制小数如何转换成十进制
6
7
8
9
10
11
12
13
14
15
二进制B
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
⑶八进制数Q转换成十六进制数H:八进制数Q和十六进制数H的转换要通过二进制数B来实现,即先把八进制数Q转换成二进制数B,再转换成十六进制数H。
例:◆八进制数转换成十六进制数:
7402.45Q = 111  100  000  010 .  100  101B
        = 111100000010.100101B
        = 1111  0000  0010 . 1001  0100B
        =  F    0      2 .    9      4H
=  F02.94H
◆十六进制数转换成八进制数:
1B.EH = 0001  1011 . 1110B
= 11011.111B
= 011  011 . 111B
=  3    3 .  7Q
= 33.7Q
⑷二进制数B转换成十进制数D:利用二进制数B按权展开成多项式和的表达式,取基数为2,逐项相加,其和就是相应的十进制数。
例:◆二进制数转换成十进制数:
      110010.1B = 1×25+1×24+0×23+0×22+1×21+0×20+1×2-1
                = 32+16+2+0.5
                = 50.5
◆求8位二进制数能表示的最大十进制数值:
    最大8位二进制数是11111111B
    11111111B = 1×27+1×26+1×25+1×24+1×23+1×22+1×21+1×20
            = 255
⑸十进制数D转换成二进制数B:十进制数转换成二进制数时,整数部分和小数部分换算算法不同,需要分别进行。整数部分用除基取余法转换,小数部分用乘基取整法转换。
除基取余法(整数部分):需要转换的整数除以基数2,取其商的余数就是二进制数最低位的系数K0,将商的整数部分继续除以基数2,取其商的余数作二进制数的高一位的系数K1,……,这样逐次相除直到商为0,即得到从低位到高位的余数序列,便构成对应的二进制整数。
例:◆十进制数233转换成二进制数:
▲竖式表示:
十进制整数      余数        系数Ki        位
2233 
2116          1            K0            最低位
258            0            K1
229            0            K2
214            1            K3
27            0            K4
23            1            K5
21            1            K6
  0            1            K7       最高位
▲线图表示:
233÷2 116 58 29 14 7 3 1 0
                         
余数:    1    0    0    1    0  1  1    1
  位:  最低位                                最高位
  从最后一次余数开始向上(向左)顺序(即从最高位向最低位)写出,得到换算结果:233D = 11101001B
乘基取整法(小数部分):把要转换的小数乘以基数2,取其积的整数部分作对应二进制小数的最高位系数K-1,将积的小数部分继续乘以基数2,新得到积的整数部分作二进制下一位的系数K-2,……,这样逐次乘基,即得到从高位到低位积的整数序列,便构成对应的二进制小数。
例:◆十进制小数0.8125转换成二进制小数:
▲竖式表示:
十进制小数        积的整数部分        系数        位
0.8125
    ×    2
1.6250                1                K-1      最高位
0.6250
×    2
1.250                  1                K-2
0.25
×    2
0.50                  0                K-3
×    2
1.0                    1                K-4       最低位
▲线图表示:
0.8125 × 2 0.625 0.25 0.5 0
                         
积的整数部分:  1      1    0  1
          位: 最高位              最低位
      将乘积的整数部分从上到下(左到右)顺序写出,得到换算结果:0.8125D = 0.1101B
综合结论:一个既有整数又有小数部分的十进制数被送入计算机后,转换将分三步进行:1、由机器把整数部分按除基取余法进行转换;2、小数部分按乘基取整法进行转换;3、将已转换的两部分合在一起就是所求的二进制数值。但并不是所以的十进制小数都能转化成有限位的二进制小数,有时整个过程会无限进行下去。(例如:0.3D=0.0011001100…B)此时,可以根据精度的要求并考虑计算机字长位数取一定位数后,“0舍1入”,得到原十进制数的二进制近似值。
例:◆求14.4375输入计算机后转换成二进制数的形式:
      解  14D = 1110B      0.4375D = 0.0111B
          14.4375D = 1110.0111B
⑹十进制数与任意进制的转换:1、任意进制数转换成十进制数的方法和二进制数转换成十进制数一样,把任意进制数按权展开成多项式和的表达式,再把各位的权与该位上系数相乘,乘积逐项相加,其和就是相应的十进制数。2、十进制数转换成任意进制数时,整数部分用“除基取余法”,小数部分用“乘基取整法”,然后将得到的任意进制的整数与小数拼接,即为转换的最后结果。
例:◆十二进制数4602.3转换成十进制数:
      解 4602.312 = 4×1236×1220×1212×1203×12-1
                      = 6912+864+0+2+0.25
                      = 7778.25D
◆将414.7D转换成十六进制,小数精度取2位:
      解  整数部分      取余数      系数      小数部分      取整数      系数
          16414                                0.7
1625          E          K0        × 16
161          9          K1         11.2          B          K-1
                                  0.2
0          1          K      × 16
                                  3.2        3          K-2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。