c++中长整型和基本整型数的区别

由于C++标准中并未指定int、long、long long等具体的字节数(只规定int不少于16位,long不少于32位,long long不少于64位,并且sizeof(int) <= sizeof(long) <= sizeof(long long)),所以不同开发环境中的三者所占用位数可能不一致,具体的占用位数还得看实际的编译器实现

一般来说:

  • 32位系统下:int-32bit,long-32bit,long long-64bit,指针-32bit

  • Linux/Unix-64位:int-32bit,long-64bit,long long-64bit,指针-64bit

  • Windows-64位:int-32bit,long-32bit,long long-64bit,指针-64bit

数值表示范围

  • 32位有符号:[-2147483648, 2147483647]

  • 32位无符号:[0, 4294967295]

  • 64位有符号:[-9223372036854775808, 9223372036854775807]

  • 64位无符号:[0, 18446744073709551615]

注:也可以使用int8_t、int16_t、int32_t、int64_t来使用指定位数的整型。

猜你喜欢

转载自blog.csdn.net/qq_36552817/article/details/88085121