机器零
Contents
机器零
计算机中机器零是指:
如果一个浮点数的尾数全为0,则不论其阶码为何值,计算机在处理时都把这种浮点数当作零看待;
如果一个浮点数的阶码小于它所表示范围的最小值,则不论其尾数为何值,计算机在处理时都把这种浮点数当作零看待。
计算机保存数字的位有限,所能表示最小的数也有范围,当一个表示方式比它所能表示的数更小时,计算机无法表示,就作为0处理,实际上,这个数也很接近0了.
浮点数定义其实就是0.XXXXX * 2^XXXX
零点多少乘以2的多少次方
其中零点多少就是尾数,2的多少次方就是阶码,不管计算机用几位表示阶码,肯定有个表示的范围,一共有负的最大值,负的最小值,正的最大值,正的最小值4种限制.
当一个表示方式中的阶码是负数,而且这个负数小于计算机所能表示的阶码
如以上2的XXX次方中,XXX是负数 (绝对值很大) ,非常小,在数学上这个值就非常接近于零,在计算机上,因为无法表示比这个值更小了,所以就把这个浮点数作为零处理
补充: 不用管位数,先看阶码
假设一个10进制的数,0.9999*10^-9999999999999999999999999,
10的-99999999999999999999999次方,那么这个数是不是很接近0,
不管前面的0.9999是正还是负
对于2进制也一样,0.1111*2^-111111111111111111111111111111
计算机保存数字的位有限,所能表示最小的数也有范围,当一个表示方式比它所能表示的数更小时,计算机无法表示,就作为0处理,实际上,这个数也很接近0了.
Author -
LastMod 2011-07-03