paomaliuju 发表于 2014-7-25 14:26:03

对浮点型数据在计算机中移位存储方式有些不解

本帖最后由 paomaliuju 于 2014-7-25 14:28 编辑

如图所示,10.25f在计算机进行存储时,二进制的科学计数表示为:1.01001*2^3,其中,符号位是0(表示正数),尾数部分是01001,指数部分是3.
请看最后存储的二进制码:010000010   01001000000000000000000


{:5_94:}

为什么指数存储部分是10000010(即十进制数130),而不是直接存储00000011(即十进制数3),为什么要加127才是阶码?

oggplay 发表于 2014-7-25 14:26:04

32位阶码就是127.这个问题稍微复杂点,看我的帖子吧http://bbs.fishc.com/thread-45454-2-1.html

paomaliuju 发表于 2014-7-25 17:40:22

oggplay 发表于 2014-7-25 17:17
32位阶码就是127.这个问题稍微复杂点,看我的帖子吧http://bbs.fishc.com/thread-45454-2-1.html

谢谢你提供的资料,参考参考{:5_109:}

wangerwanger 发表于 2014-7-25 18:17:44

127=128-1

shehdok 发表于 2014-7-26 22:27:06

+到127 值才够 E的

仰望天上的光 发表于 2014-7-27 08:48:48

阶码使用移码来编码的,一般来说,应该+128。但是,由于尾数表示的时候,将小数点左移了一位(即隐藏位技术),为了弥补这个左移,应该将阶码-1,也就是从128变为127.
页: [1]
查看完整版本: 对浮点型数据在计算机中移位存储方式有些不解