What is 1LL or 2LL in C and C++? What is 1LL or 2LL in C and C++? c c

What is 1LL or 2LL in C and C++?


The LL makes the integer literal of type long long.

So 2LL, is a 2 of type long long.

Without the LL, the literal would only be of type int.

This matters when you're doing stuff like this:

1   << 401LL << 40

With just the literal 1, (assuming int to be 32-bits, you shift beyond the size of the integer type -> undefined behavior).With 1LL, you set the type to long long before hand and now it will properly return 2^40.