用浮点格式表示十进制数123.625
1个回答

将原始数据进行整数化:(123.625)10*(2^16)10=(123.625)10*(65536)10=(8101888)10>(8101888)10 //去掉小数,保留整数部分=(7BA000)16=(0111 1011 1010 0000 0000 0000)2=(011110111010000000000000)2因为最初乘了65536,即2的16次方,所以换算成二进制时应右移16位,去掉前导零,即(1111011.11101110100000000000000)2单精度浮点数保存的字节格式如下:地址:+0 +1 +2 +3内容:SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM根据IEEE浮点数的定义,将上述二进制数规格化:(123.625)10=(1111011.1010000000000000)2>+1.1110111010000000000000 * (2^6)符号S为正,等于0 B;指数EEEEEEEE为6+127=133,等于10000101 B;尾数为1110111010000000000000 B;合成后为0 10000101 111 0111 0100 0000 0000 0000若将上述值表示为十六进制数,则为(42 F7 40 00)16.