类型signed char、short、int和long统称为符号整型;他们的无符号版本统称为无符号整型。
bool、char、wchar_t、符号整型和无符号整型统称为整型。
float、double和long double统称为浮点型。
整数和浮点型统称算术(arithmetic)类型
一、int、short、long
一个字节等于8位的内存单元。
short、int、long都是属于有符号位的,即可以为正数为负数
short:至少16位,2个字节
int:至少与short一样长,32位系统中2个字节,64位系统中4个字节。
long:至少32位,且至少与int一样长,4个字节。
sizeof操作符返回类型或变量的长度,单位为字节。
在不同的系统环境下,int、short等的字节长度可能会不一样,此时就可以使用sizeof来查看类型的长度。
1、为提高程序的可移植性,若知道变量可能表示的整数值大于16位整数的最大值,则使用 long。即使系统上int为32位,也应这样做。这样,当程序移植到16位的系统中时,程序就不会突然无法正常工作。
2、为节省系统内存,应使用short而不是int,即使他们的长度是一样的。例如,将设要将程序从int为16位的DOS PC系统移植到int为32位的Windows XP系统,则用于存储int数据的内存数量将加倍,但short数组将不受影响。
3、可以在数值的末尾添加L指定该数值为long型,在数值的末尾添加u或U指定该数值为unsinged无符号的。
8位的内存块可以设置出256种不同的组合,因为每一位都可以有两种设置,所有8位的总组合数为2x2x2x2x2x2x2x2,即256。因此8位单元可以表示为0~255或者-128~127。每增加 一个字节,组合数便会加倍,这意味着可以把16位单元表示为0~65536或-32768~32767。
对于有符号位的数据,当数据的值超过了限制,则其值将变为限制范围另一边的值。如short a=32767,但是a=a+1后,a=-32768
二、bool、const
bool:非零值解释为true,零值解释为false
const:常用格式为const type name=value
如:
bool start=-100 //start assigned true
bool stop=0 //stop assigned false
const int MONTHS=12
三、浮点类型:float、double、long double
1、浮点值的E表示方法:
5.37E+16 //5.37x1016
5.37E-16 //5.37x10-16
5.37e16 //5.37x1016
2、
C++有3种浮点类型:float、double、long double,这些类型是按他们可以表示的有效数位和允许的指数最小范围来描述的。
有效位是数字中有意义的位。
C++中float只能保证6位有效位,double能够保证15位有效位。