浮点型与定点型(浮点数与定点数)
浮点型与定点型(浮点数与定点数)
Float与Int,这两个类型,仔细研究一下,这两个类型就会发现为什么有超级计算机诞生的必要了,以及提高计算机的计算能力真的是一件很伟大的事情,正式说下把,先来定点数,定点数就是小数点固定在一个位置,如下图
类似上面长条那样,表示小数点时,只能固定一个点,假设使用32位来表示一个小数,前16位表示整数,后16位表示小数,言下之意即小数点固定放在中间处,对了,还需要一个最高位表示正负,这样可以想象当表示一个很小的数,后面16位小数就用的上,但当表示一个很大的数时,显然只有前15位,有时就不够,但由于后面16位都固定成了小数就更不起作用,于是想到可不可以将小数点位置进行移动呢,当表示一个很小的数时,可以31位都是小数,相当于小数点移到了最前面。当表示一个很大的数时,可以31位都表示整数(小数点移到了最后面),这时表示范围不就更大了,于是就联想出了浮点型,为了将浮点型的浮点进行实际上的采用,那就得制定一套表示方法(这个表示方法就是格式),如下图:
用S符号代表正负,E代表指数,V为有效值
For Example :
0 01111110 101.0000 0000 0000 0000 0000
= (-1)*0*(1+1*2^-1+1*2^-3) * 2*(126-127)
通过这种浮点形式可以将数表示的很大和很小,但很小的误差很小,很大的误差就很大了(相差一个最小位相邻数字的变化间隔),这需要特别注意。