您的位置:首页 > 其它

Double型数据的存储方式和计算方法

2013-07-15 18:16 295 查看
Double型数据的存储方式是什么?

目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具体的规格:

            符号位    
阶码      尾数    
长度

float           1          8        23     32

double          1         11        52     64

这里的阶码是无符号的,但是实际上阶码是有符号的,所以要把实际的指数加2^7-1或2^10-1。例如2的double型阶码就是100
0000 0000。

尾数是把数据用科学计算法表示,并且小数点前只有一位,存时把小数点前的1去掉。

例如3的二进制是1.1*2^1,所以,double浮点数就是0x4008
0000 0000 0000。

而有的小数的二进制数是无穷的,这就是浮点数的精度。

5.3的浮点数:

5是101,0.3是0.010011001100110011001100110011001100110011…

整体就是1.010100110011001100110011001100110011…*2^2,

故浮点数为4015 33333333 3333。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: