【数据转换】进制转换汇总

 

 一、浮点数与二进制转换

 

(1)十进制浮点数到二进制浮点数的转换

1、十进制到二进制: 整数部分用2来除,小数部分用2来乘

2、规格化二进制数: 改变小数点,使小数点前只有第一位有效数字

3、计算指数的移码:原来的指数加上2^{e-1}-1

4、把符号位,指数的移码,尾数合在一起 (尾数不够补0)

 

例:100.25

100  => 110 0100

0.25 => 0.25*2=0.5 >> 0

    0.5*2=1.0  >> 1 // 得到1.0, 停止

 

故100.25 => 110 0100.01

规格化二进制数=>1100100.01 =1.10010001*2^6

 

指数的移码 = 6+127=133 => 1000 0101

拼接:

0      10000101      10010001000000000000000

符号      指数         尾数

 

 

(1)二进制浮点数到十进制浮点数的转换

1、分割符号位, 指数移码, 尾数

2、将移码减去偏移2^{e-1}-1, 得到真正的指数

3、写成规格化的二进制浮点数

4、写成非规格化的二进制浮点数形式

5、把二进制数转换成十进制数

 

例:1 10001000 10011111110000000000000

指数=> 136-127=9

10011111110000000000000 => 1001111111

拼接=>(-1)*2^9*1.1001111111 =>(-1)*1100111111.1 =>-831+1*2^(-1)=-831.5

posted @ 2024-07-11 15:12  不溯流光  阅读(54)  评论(0编辑  收藏  举报