浮点数
浮点数能够表示小数值、非常大和非常小的值。
它有两种表示方法:
- 标准小数点表示法:12.34
- E表示法(科学计数法):2.52e+8,8.33E-4 (适用于非常大和非常小的数)
C++有三种浮点类型:float、double和long double
有效位数规定:(可在cfloat中找到)
- float至少32位
- double至少48位,且不少于float
- long double至少和double一样多
ostream中提供setf(),迫使输出使用定点表示法,以便了解精度。
浮点常量:对常量为float型,使用f或F后缀,对long double型,使用l或L后缀。
浮点运算速度通常比整数慢,且精度会降低。
C++算数运算符
5个基本运算符:加法、减法、乘法、除法和求模。
求模的操作数只能是整数。
优先级:
乘除大于加减,与数学上一致。
类型转换:
C++自动执行很多类型转换:
- 将一种算数类型的值赋给另一种算数类型的变量时C++进行转换;
- 表达式中包含不同的类型时,C++将对值进行转换(转换成较大的类型);
- 将参数传递给函数时,C++将对值进行转换(转换为函数中指定的类型);
转换将导致一些问题:
- 精度降低或值超过范围变得不确定
- 转换为整型时,会丢失小数部分
- 原来的值超过范围,使值只有右边的字节
强制类型转换:
(long)thorn;//C语言的格式
long (thorn);//纯粹的C++,使之看起来像函数调用
auto声明
在初始化声明中,如果使用关键字auto,而不指定变量的类型,编译器将把变量的类型设置成与初始值相同。