首页 > 代码库 > C++学习笔记(二):基本数据类型

C++学习笔记(二):基本数据类型

带符号整数:

short至少16位;

int至少与short—样长;

long至少32位,且至少与int—样长;

long long至少64位,且至少与long—样长;

无符号整数:

unsigned short

unsigned int

unsigned(等于unsigned int)

unsigned long

unsigned long long

 

climits头文件中定义了基本数据的区间常量;

 

特殊的整数:

char:用来存储字母符号(ASCII码),一般为8位;

可以强制设定char是否带有符号:signed char和unsigned char;

wchar_t:宽字节,一般为16位,用来表示中文;

布尔类型:

bool:表示真或假;

浮点数:

float:单精度浮点型 6为有效数字

double:双精度浮点型 10位有效数字

long double:扩展精度浮点型 10位有效数字

运算注意点:

除法运算符(/ ) 的行为取决于操作数的类型。如果两个操作数都是整数,则C++将执行整数除法。这意味着结果的小数部分将被丢弃,使得鉍后的结果是-个粮数。如果其中有一个(或两个)操作数足浮点值,则小数部分将保留,结果为浮点数。

类型转换:

1.长类型到短类型的转换,采用直接截断的方式;

2.短类型到长类型的转换,要分两种情况进行。如果短类型是无符号整数,则长类型的高位部分填0;如果短类型是有符号整数,则长类型的高位部分填短类型的符号位。

使用别名:

重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数 差异,方便移植。

1 typedef  unsigned char      boolean;     /* Boolean value type. */ 2 typedef  unsigned long int  uint32;      /* Unsigned 32 bit value */ 3 typedef  unsigned short     uint16;      /* Unsigned 16 bit value */ 4 typedef  unsigned char      uint8;       /* Unsigned 8  bit value */ 5 typedef  signed long int    int32;       /* Signed 32 bit value */ 6 typedef  signed short       int16;       /* Signed 16 bit value */ 7 typedef  signed char        int8;        /* Signed 8  bit value */