ULL suffix on a numeric literal
Yes that's correct.
0x
prefix makes it a hexadecimal literal.ULL
suffix makes it typeunsigned long long
.
From the gcc
manual:
ISO C99 supports data types for integers that are at least 64 bits wide ( . . . ) . To make an integer constant of type
long long int
, add the suffixLL
to the integer. To make an integer constant of typeunsigned long long int
, add the suffixULL
to the integer.
These suffixes have also been added to C++ in C++11, and were already supported long long (pun intended) before that as compiler extensions.