C++中数据类型:
- short 16位 短整型
- int 16位 整形
- long 32位 长整型
- long long 64位 长整型
- 无符号类型:仅能表示大于0的数值
- 带符号类型:可以表示整数、负数或0
- bool:true、false
- char:字符,8位
C++规定:一个int至少要和short一样大,一个long至少要和一个int一样大,一个long long至少要和一个long一样大,其中long long实在11版本中新定义的;
和C一样,C++的设计准则之一也是尽可能地接近硬件。C++的算术类型必须满足各种硬件特质,所以它们常常显得繁杂而令人不知所措。事实上,大多数程序员能够(也应该)对数据类型的使用作出限定从而简化选择的过程。一下是数据类型选择的一些经验准则:
- 当明确知晓数值不可能为负数时,选用无符号类型(unsigned);
- 使用int执行证书运算。在实际应用中,short常常显得太小而long一般和int有一样的长度。如果你的数值超过了int的表示范围,选用long long;
- 在算术表达式中不要使用char或者bool,只有在放字符或布尔值时才使用它们。因为 char在一些机器上是有符号的,在另一些机器上又是没有符号的,所以使用char做运算特别容易出问题。如果你需要使用一个不大的整数,那么明确指定它的类型是signed char或unsigned char。
- 执行浮点数运算选用double,这是因为float通常精度不够,而且双精度和单精度浮点数计算代价相差不大。事实上对于某些机器来说,双精度运算甚至比单精度还快。long double提供的精度一般情况下是没有必要的,带来的运行时消耗也不容忽视。