处理数据
C++类型转换:因为c++里有很多不同的类型,为了处理执行时的混乱,C++会自动执行很多类型转换:
-
赋值时
将0赋值给 bool变量时,变为false,非零则true;
-
表达式中包含不同的类型时
如果有操作数是long double 将另外一个操作数转为一样,接着是double、
float,如果都没有,则操作数都为整型,因此进行整型提升。
-
传参给函数时
-
强制类型转换
// long (thorn) 将thorn强转为long,不会修改变量本身,而是创建一个新的
static_cast (value) //static_cast (thorn)
第三章总结题
1.为什么C++有多种整型?
有多种整型类型,可以根据特定需求选择最适合的类型。例如,可以使用short来存储空格,long来确保存储容量,也可以寻找可提高特定计算的速度的类型。
2.C++提供了什么措施来访者超出整型的范围
没有提供自动防止超出整形限制的功能,可以使用头文件climits来确定限制情况。
3.33L与33之间有什么区别
33L 为long 33为int
4.将long值赋给float变量会导致舍入误差,将long值赋给double变量呢?将long long值赋给double变量 呢?
这个问题的答案取决于这两个类型的长度。如果long为4个字节,则没有损失。因为最大的long值将 是20亿,即有10位数。由于double提供了至少13位有效数字,因而不需要进行任何舍入。long long类型可提 供19位有效数字,超过了double保证的13位有效数字。