算术运算
数的表示范围
中间结果溢出
浮点数的比较
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double d1 = 123456789.9*9;
double d2 = 1111111109.1;
if ( d1!=d2 ) cout << “Not same\n” ;
else cout << “Same\n” ;
if ( abs ( d1-d2 ) < 1e-05 ) cout << “Same\n” ;
else cout << “Not same\n” ;
cout.precision(9);
cout<<fixed<<d1<<endl<<d2<<endl;
}
结论:
使用浮点数进行相等(==)和不相等(!=)的比较操作通常是有问题的
浮点数的相等比较一般采用两者相减的值是否落在0的邻域中来判断
类型转换
隐式转换
转换的精度丢失
显式转换
逻辑运算与位运算
关系逻辑运算
错误的条件表达
短路求值
逻辑推演
位运算
增量操作