关于解决浮点数使用integer方法进行比较出现的问题解决
关于解决浮点数使用integer方法进行比较时出现的问题
引入biased notation(校正值)解决此问题。
例子:1.002-1和1.00*21的大小比较。
1.002-1的指数为-1,而1.00*21的指数为1,显然指数大的必定会大,但如果指数是负数呢?按照这样的方式,会得出指数比正数还要大的结论,这是错误的。
于是biased notation配上用场了,单精度的biased为127,双精度的biased为1023,拓展双精度的biased为16383,这个biased码值加上指数值,就得到了一个浮点数格式的指数值:-1+127=126,1+127=128。