如何选择类型
1)当数值不可能为负时,选择无符号类型。
2)当数值超过了int的表示范围时,选用long long。
3)在算术表达式中不要使用char或bool,只有在存放字符串或布尔值时才使用它们。因为类型char在一些机器中是有符号的,而在另一些机器中又是无符号的。如果你需要使用一个不大的整数,那么明确指定它的类型是signed char或者unsigned char。
4)执行浮点数运算选用double,这是因为float通常精度不够而且双精度浮点数和单精度浮点数的计算代价相差无几。事实上,对于某些机器而言,双精度运算甚至比单精度还快。long double提供的精度在一般情况下是没有必要的,况且它带来的运算时间消耗也是不容小觑的。
类型转换
1)当我们把一个非布尔类型的算术值赋给布尔类型时,初始值为0则结果为false,否则结果为true。
2)当我们把一个布尔值赋给非布尔类型时,初始值为false则结果为0,初始值为true则结果为1.
3)当我们把一个浮点数赋给整数类型时,进行了近视处理。结果值将保留浮点数中小数点之前的部分。
4)当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。例如,8比特大小的unsigned char可以表示0至255区间的值,如果我们赋了一个区间以外的值,则实际的结果是该值对256取模后所得的余数。因此,把-1赋给8比特大小的unsigned char所得的结果是255。
5)当我们赋给带符号类型一个超出它表示范围的