c++ 浮点比较和浮点运算
来源:互联网 发布:solaris系统 知乎 编辑:程序博客网 时间:2024/05/16 11:55
要点:
float:32位
double 64 位
long double 96 或者128位
标准认为:
float 至少为6位有效数字。
double 至少为10位有效数字。
long double 至少10位有效数字。
要点:
1.double 类型比float类型的计算要快。
2.对于浮点型,没有严格意义上的相等,因此比较是否相等,请用if(fabs(a-b)<0.00001);
2的10次方是1K,20次是1M,30次是1T
因此2的16次方是64000,2的17次方是128000;因此我认为应该至少用7位来表示小数点后面的数字。
#include <cstdlib>#include <iostream>using namespace std;int main(int argc, char *argv[]){ float a=0.111 111 91111111111111111111111111; cout<<a<<endl; system("PAUSE"); return EXIT_SUCCESS;}
打印结果为:
0.111 112
所以说。。最后一位是不精确的。
因此。。比较的时候应该将其舍去。。
取前5位比较:最后一位应该忽略之。
bool compare(){
if(a-b>0.000 01) return true;
};
阅读全文
0 0
- c++ 浮点比较和浮点运算
- c浮点数运算
- C比较浮点数
- C语言陷阱:浮点运算
- 浮点运算
- 浮点运算
- 浮点运算和字节对齐
- Arm ABI和浮点运算
- c语言中浮点运算的inf和nan错误
- C语言fmod()函数:对浮点数取模(求余)和%取余运算符的比较
- 浮点类型和0比较
- 单片机浮点数运算之比较
- 定点与浮点运算 DSP 的比较
- ARM 浮点运算,软浮点,硬浮点
- ARM 浮点运算,软浮点,硬浮点
- 浮点寄存器及浮点运算
- C语言中浮点数的运算
- C语言浮点数比较大小
- strdup详解和模拟实现
- 小题目Extra:输入N个学生的成绩,判断及格人数,平均分
- 句柄类
- Jmeter使用代理服务器录制脚本
- Hibernate(八)HQL查询
- c++ 浮点比较和浮点运算
- 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例)
- 理解Fragment,生命周期以及各个周期做什么事,缓存fragment不被销毁。
- 中国剩余定理
- c++中的变量。
- JDK各版本的下载
- mui.openWindow参数
- 动态绑定与继承:不得不去想细节
- OpenGL双缓冲