单精度浮点数(float)
测试发现,0.99999999f==1f 为true
不能用f1==f2来判断两个数相等,是因为虽然f1和f2在可能是两个不同的数字,但是受到浮点数表示精度的限制,有可能会错
要点
- 单精度浮点数(float)是用来表示带有小数部分的实数,表示范围大,但是有不精确、不连续的特点。
- 占用4个字节(32位)存储空间。包括符号位1位,阶码8位(移码表示),尾数23位(原码表示,小数点前隐含一个1),偏移值2^(n-1) -1。
- 其数值范围为-3.4E38~3.4E38,最多有7位十进制有效数字。
- 如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。
补充资料:
计算机组成与系统结构(裘雪红)第二章的内容
参考资料:
Java 浮点数 float和double类型的表示范围和精度
IEEE754单精度浮点数