C++心得笔记
C++ Primer Plus 第三章 处理数据
3.3.3 浮点常量
在默认情况下,像8.24和2.4E8这样的浮点常量都属于double类型。如果希望常量为float类型,请使用f或F后缀。对于long double类型,可使用l或L后缀(由于l看起来像数字1,因此L是更好的选择)。
下面是一些示例:
1.234f // a float constant
2.45E02F // a float constant
2.345324E28 // a float constant
2.2L // a long double constant
3.3.4 浮点数的优缺点
与整数想比,浮点数有两大优点。首先,它们可以表示整数之间的值。其次,由于有缩放因子,它们可以表示的范围大得多。最后,浮点运算的速度通常比整数运算慢,且精度将降低。
学习问题:我试了下不加f,发现编译器没有任何问题,没有报错,输出也相同。
为什么b-a的答案会是0呢?原因在于,2.34E+22是一个23位的数字。加上1,就是在最末位加1.但float类型只能表示数字中的前6位或前7位,因此修改第23位对这个值不会有任何影响。
将类型分类
C++对基本类型进行分类,形成了若干个族。类型signed char、short、int和long统称为符号为符号整型;它们的无符号版本统称为无符号整型;C++11新增了long long。bool、char、wchat_t、符号整型和无符号整型统称为整型;C++11新增了char16_t和char32_t。float、double和long double统称为浮点型。整数和浮点型统称算术(arithmetic)类型。