计算机中浮点数的表示

计算机中浮点数的表示,按IEEE754标准位 V=pow(-1,s)*M*pow(2,E)

符号(signed): s决定这个浮点数是整数还是负数,当硕士,这个浮点数位正,当s=1是,为负

尾数(siginificant):M是一个2进制小数,它的范围是[1,2)或者[0,1)

阶码(exponent):E的作痛是对浮点数加权,这个权重是2的E次幂

在单精度(32位float)中,s占1位,E占8位,M占23位

在双精度(64位double)中,s占1位,E占11位,M占52位

根据E的编码,可将浮点数分成三种不同的情况:(以32位float为例)

No1: 规格化浮点数  

当E的编码既不是00000000并且也不是11111111是,此时的浮点数成为规格化浮点数,

No2:

当E的编码是00000000是,此时的浮点数成为非规格化浮点数.非规格化浮点数的作用表现在以下两个方面:

   1: 非规格化浮点数能表示0.0   +0.0=0  00000000 00000000000000000000000

                                           -0.0=1  00000000 00000000000000000000000

   2:非规格化浮点数能表示无限接近0的数

No3: 特殊数

当E的编码是 11111111是,我们称此时的浮点数是特殊数字

当M的编码位全0时,s=0我们称为正无穷大;s=1我们成为负无穷大

当M的编码非全0时,此时我们称浮点数是NaN(Not a Number)

posted on 2011-10-06 18:54  紫金树下  阅读(648)  评论(0编辑  收藏  举报