数据类型范围
2018-03-29 本文已影响10人
HikariCP
常识
类型 字节 范围
byte 1字节,8位 256(-128 到127)
bool 1字节,8位 256(-128 到127)
char 1字节,8位 256(-128 到127)
short 2字节,16位 65535( –32,768 到 32,767)
int 4字节,32位 4294967296( –2,147,483,648 到 2,147,483,647)
unsigned int 4字节,32位 4294967296(0 到 4,294,967,295)
long 4字节,32位 4294967296( –2,147,483,648 到 2,147,483,647)
long long 8字节,64位 18446744073709551616( –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807)
float 4字节,32位 3.4E +/- 38(7 位数)
double 8字节,64位 1.7E +/- 308(15 位数)
这里需要注意的是long和int的区别,看上去在范围上两者好像一样。但是这是取决于你所在的平台的。但无论什么凭条都必须遵守
[ int 至少 16 位,long int 至少 32 位,并且 sizeof(int) <= sizeof(long)」的规则。
这就类似,你觉得「爱人」和「妻子」不可能有区别,但是在日语里,这两个确实有天壤之别。我们这里都是按照数据类型在一些情况下最小范围进行罗列。
所以我们再来个表:
类型 16位系统/字节 32位系统/字节 64位系统/字节
char 1 1 1
char* 2 4 8
short 2 2 2
int 2 4 4
long 4 4 8
long long 8 8 8
我们多罗列了个unsigned int,是为了说明unsigned的情况。所有数据类型除bool,unsigned时范围变化都一致。所能表示的最大数是原来的2倍,所能表示的范围没变。