When i use shift left in uint64_t variable, like mask = 1 << 31
or above, all bits left turn 1;
I'm using:
Ubuntu 22.04;
gnu++23;
Vscode with c_cpp extension;
int main(int argc, char const *argv[])
{
uint64_t mask1{1};
uint64_t mask2{1};
mask1 = 1 << 30; // OK 1000000000000000000000000000000
mask2 = 1 << 31; // ERROR 1111111111111111111111111111111110000000000000000000000000000000
// Expecting 10000000000000000000000000000000
return 0;
}