float类型和0比较大小
2014-04-24 13:28
183 查看
转自:http://blog.csdn.net/fengrx/article/details/5349332
[cpp] view
plaincopy
if(x<0.000001&&x>-0.000001)
原因:c中float精度问题
float存储格式为:
S E M
1位符号位 8位指数 23位尾数
转成数值即为:V=(-1)^S * 1.M * 2^(E-127)
对于16.5转成二进制为00010000.1==>1.00001*2^4,
那么在内存的表示为:
符号位 指数4+127 = 131 尾数
0 10000011 00001 000000000000000000
在转换过程中由于需要往右移位, 可见对于float数整数部分越大,小数部分的精度就越低
对float数来说有效数字约为7位(2^23约等于10^7),所以整数部分占的位数越多,小数部分
的精度就越低,当整数部分超过9999999后小数部分已经完全无精度了
[cpp] view
plaincopy
if(x<0.000001&&x>-0.000001)
原因:c中float精度问题
float存储格式为:
S E M
1位符号位 8位指数 23位尾数
转成数值即为:V=(-1)^S * 1.M * 2^(E-127)
对于16.5转成二进制为00010000.1==>1.00001*2^4,
那么在内存的表示为:
符号位 指数4+127 = 131 尾数
0 10000011 00001 000000000000000000
在转换过程中由于需要往右移位, 可见对于float数整数部分越大,小数部分的精度就越低
对float数来说有效数字约为7位(2^23约等于10^7),所以整数部分占的位数越多,小数部分
的精度就越低,当整数部分超过9999999后小数部分已经完全无精度了
相关文章推荐
- IOS float类型比较大小
- iOS float类型比较大小
- iOS float类型比较大小
- float类型比较大小
- 计算机中基本类型float值表示和大小比较问题
- float 类型精度和两数比较大小
- float 类型精度和两数比较大小
- float类型和0比较大小
- bash比较float类型大小
- 【知识积累】比较两个double类型的大小和integer
- Java String类型时间比较大小
- java 日期Date类型比较大小
- 转 Java的 BigDecimal类型比较大小
- mysql varchar类型转换日期类型,比较大小
- 继承和虚函数、虚基类的类型大小的比较
- jquery判空 string类型的日期比较大小
- Integer 类型对象之间大小比较
- java中比较float和double的大小
- 深入理解C++浮点数(float、double)类型数据比较、相等判断
- float与double类型区别比较