关于C++的integer data types问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 05:21:45
表格:
data type size range
short 2 types
unsigned short 2types
int 4 types
unsigned int 4types
long 4 types
unsigned long 4types

我想问一下:
unsigned是什么意思?
这些data type 跟后面的字节有什么关系?
用的时侯要怎么用?
我这有几个例子,请帮我解释一下(不用挨个解释,意思到了就行了,呵呵):
int days;
unsigned speed;
short month;
unsigned short amount;
long deficit;
unsigned long insects;

unsigned 表示无符号数,大等于0
字节数说明这种数据类型占用的空间,也可以说明取值范围,例如2字节,就是0x0000-0xffff,有符号数第一个bit表示正负,所以short的范围是-32767-32767,而unsigned short的取值范围就是0-65535
用的时候首先要根据需要,选择合适的数据类型,例如需要无符号的还是有符号的,数值范围是多少,如果数值太大,数据类型太小就会发生溢出错误
int是一个与机器相关的类型,例如32位机int就是4字节,16位机就是2字节,unsigned speed相当于 unsigned int speed
long是4字节