ULL suffix on a numeric literal

Yes that's correct.

  • 0x prefix makes it a hexadecimal literal.
  • ULL suffix makes it type unsigned 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 suffix LL to the integer. To make an integer constant of type unsigned long long int, add the suffix ULL 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.

Tags:

C++

C