long long
C++11中加入long long 的整型,C++11 标准要求 long long 整型可以在不同平台上有不同的长度,但至少8字节(64位)。long long 整型有两种∶long long 和 unsigned long long
//long long 对应类型的数值可以使用LL或者ll后缀(推荐用大写LL,l容易和1混淆)
long long num1 = 123456LL;
long long num2 = 123456ll;
//unsigned long long 对应类型的数值可以使用ULL或者ull或者Ull、uLL(等大小写混合均可)后缀
unsigned long long num3 = 112233445566ULL;
unsigned long long num4 = 112233445566ull;
unsigned long long num5 = 112233445566Ull;
unsigned long long num6 = 112233445566uLL;
unsigned long long num7 = 112233445566uLl;
unsigned long long num8 = 112233445566UlL;
C++11中与以上两种类型等价的:
long long :
- long long int
- signed long long
- signed long long int
unsigned long long
- unsigned long long int
同样的这两种类型也像其他的整型一样有MIN以及MAX的宏
- LLONG_MIN 最小的long long值
- LLONG_MAX 最大的long long
- ULLONG_MAX 最大的 unsigned long long 值(最小值是0)
#include <iostream>
using namespace std;
int main(){
cout << "LLONG_MIN: " << LLONG_MIN << endl;
cout << "LLONG_MAX: " << LLONG_MAX << endl;
cout << "ULLONG_MAX: " << ULLONG_MAX << endl;
return 0;
}
输出结果:
LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615
下面总结一下整型:
C++提供的是灵活的标准,它确保了最小长度:
- short至少16位
- int至少与short一样长
- long至少32位,且至少与int一样长
- long long至少64位,且至少与long一样长
| 整型名称 | (> 16 位 Windows)占用字节数 [数据范围] |
(32 位 Linux)占用字节数 [数据范围] |
(64 位 Linux)占用字节数 [数据范围] |
|---|---|---|---|
| int(signed 、signed int) | 4字节 [-231,231-1] INT_MIN=-2147483648 INT_MAX=2147483647 |
4字节 [-231,231-1] INT_MIN=-2147483648 INT_MAX=2147483647 |
4字节 [-231,231-1] INT_MIN=-2147483648 INT_MAX=2147483647 |
| unsigned int(unsigned) | 4字节 [0,232-1] UINT_MAX=4294967295 |
4字节 [0,232-1] UINT_MAX=4294967295 |
4字节 [0,232-1] UINT_MAX=4294967295 |
| short(short int、signed short 、signed short int) | 2字节 [-215,215-1] SHRT_MIN=-32768 SHRT_MAX=32767 |
2字节 [-215,215-1] SHRT_MIN=-32768 SHRT_MAX=32767 |
2字节 [-215,215-1] SHRT_MIN=-32768 SHRT_MAX=32767 |
| unsigned short(unsigned short int) | 2字节 [0,216-1] USHRT_MAX=65535 |
2字节 [0,216-1] USHRT_MAX=65535 |
2字节 [0,216-1] USHRT_MAX=65535 |
| long(long int、signed long、signed long int) | 4字节 [-231,231-1] LONG_MIN=-2147483648 LONG_MAX=2147483647 |
4字节 [-231,231-1] LONG_MIN=-2147483648 LONG_MAX=2147483647 |
8字节 [-263,263-1] LONG_MIN=-9223372036854775808 LONG_MAX=9223372036854775807 |
| unsigned long(unsigned long int) | 4字节 [0,232-1] ULONG_MAX=4294967295 |
4字节 [0,232-1] ULONG_MAX=4294967295 |
8字节 [0,264-1] ULONG_MAX=18446744073709551615 |
| long long(long long int、signed long long、signed long long int) | 8字节 [-263,263-1] LLONG_MIN=-9223372036854775808 LLONG_MAX=9223372036854775807 |
8字节 [-263,263-1] LLONG_MIN=-9223372036854775808 LLONG_MAX=9223372036854775807 |
8字节 [-263,263-1] LLONG_MIN=-9223372036854775808 LLONG_MAX=9223372036854775807 |
| unsigned long long(unsigned long long int) | 8字节 [0,264-1] ULLONG_MAX=18446744073709551615 |
8字节 [0,264-1] ULLONG_MAX=18446744073709551615 |
8字节 [0,264-1] ULLONG_MAX=18446744073709551615 |

浙公网安备 33010602011771号