3 回答
TA贡献1909条经验 获得超7个赞
从gcc 手册:
ISO C99支持至少64位宽的整数的数据类型,作为扩展,GCC在C90模式和C ++中支持它们。只需写long long int一个有符号整数或unsigned long long int一个无符号整数。要使type为整数常量long long int,请将后缀添加LL到整数。要使type为整数常量unsigned long long int,请将后缀添加ULL到整数。
TA贡献1998条经验 获得超6个赞
我提出了一个新的答案,因为我认识到当前的答案并非来自跨平台来源。在C ++ 11条标准规定文字与U
/ u
和LL
/ ll
后缀是一种类型的文字:unsigned long long int
[ 源 ]
U
/ u
是无符号整数的C / C ++后缀。LL
/ ll
是long long
整数的C / C ++后缀,它是C ++ 11中的新类型,并且要求长度至少为64位。
笔记:
例如
int
,如果使用任何修饰符,则可以省略关键字unsigned long long
。因此,这将定义one
为unsigned long long int
,并分配给它的任何数量将static_cast
到unsigned long long int
:unsigned long long one = 1
c ++ 11标志着的到来
auto
。它将变量类型设置为声明时分配给它的类型。例如,因为2ULL
是unsigned long long int
文字two
将被定义为unsigned long long int
:auto two = 2ULL
c ++ 14引入了与顺序无关的文字后缀。以前,
U
/u
后缀必须在任何大小的后缀之前。但是大约在c ++ 14之后,后缀以任何一种顺序被接受,所以现在既然3LLU
是unsigned long long int
文字three
将被定义为unsigned long long int
:auto three = 3LLU
- 3 回答
- 0 关注
- 1516 浏览
添加回答
举报