C++中有符号长整形和无符号长整形能表示的数据范围?

谢谢!

short、int 和 long 类型都表示整型值,存储空间的大小不同。一般, short 
类型为半个机器字长,int 类型为一个机器字长,而 long 类型为一个或两个机
器字长(在 32 位机器中 int 类型和 long 类型通常字长是相同的)。

unsigned   int   0~4294967295                   就是2^32-1
int   2147483648~2147483647                     就是2^(-31) ~ 2^31-1
unsigned long 0~4294967295                      就是2^32-1
long   2147483648~2147483647                    就是2^(-31) ~ 2^31-1
long long的最大值:9223372036854775807           就是2^63-1
long long的最小值:-9223372036854775808          就是2^(-63)
unsigned long long的最大值:18446744073709551615 就是2^64-1
__int64的最大值:9223372036854775807             就是2^63-1
__int64的最小值:-9223372036854775808            就是2^(-63)
unsigned __int64的最大值:18446744073709551615   就是2^64-1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-21
长整形一般是8个字节的,有符号的取值范围再(-2^31)--(2^31-1),无符号的取值范围在(0--(2^32-1))零到2的32次方减1
第2个回答  2013-12-21
有符号:2^(-31) ~ 2^31-1
无符号 :0 ~ 2^32-1
相似回答