我根据百度的,得到8.25在内存中存储是
0 1000 0010 100 1000 0000 0000 000 0000
不知道算错了没有,楼主帮解释下是怎么得到最后的结果嘞
简单说说:既然你问 我也得根据IEEE标准算算
0 1000 0010 100 1000 0000 0000 000 0000
看来化解很清楚了 红色的0表示正数
蓝色1000 0010 表示字面指数是 128+2=130 实际为了表示float a=1E-56等数据
实际的指数应该是130再减去127(根据标准) 所以实际指数是130-127=3
字面的数据位是100 1000 0000 0000 000 0000
对于负数来说实际中最左边还默认存储一个1 正数就没有了
对于正数实际为0.100 1000 0000 0000 000 0000
然后指数为3 就是0.100 1000 0000 0000 000 0000 *2^3
小数点右移3次就可以
结果是100. 1000 0000 0000 000 0000
结果是 1*8+1*0.5=8.5 你的结果是8.25我得再研究