好吧,这是个标题党。
我突然发现一个一直被忽略的问题,目前标准定义的单、双精度小数,居然是没法精确表示0!!!看标准IEEE754里的定义,双精度小数,最高位符号位,接下来是指数位+1023,这是必大于0的数,再接下来是小数。整个双精度小数按十进制就是1.w*2^e,这里w是小数位,e是指数位减去1023.根据标准,显然,系数没法为0,指数也没法为0,结果当然就是,双精度小数里没有0,最小也就是1*2^-1022,这是个极端小的数,近似为0.
好吧,这是个标题党。
我突然发现一个一直被忽略的问题,目前标准定义的单、双精度小数,居然是没法精确表示0!!!看标准IEEE754里的定义,双精度小数,最高位符号位,接下来是指数位+1023,这是必大于0的数,再接下来是小数。整个双精度小数按十进制就是1.w*2^e,这里w是小数位,e是指数位减去1023.根据标准,显然,系数没法为0,指数也没法为0,结果当然就是,双精度小数里没有0,最小也就是1*2^-1022,这是个极端小的数,近似为0.