Я пытаюсь установить самый старший бит в long long unsigned, x. Для этого я использую эту строку кода:
x |= 1<<((sizeof(x)*8)-1);
Я думал, что это должно работать, потому что sizeof задает размер в байтах, поэтому я умножился на 8 и вычитал один, чтобы установить последний бит. Всякий раз, когда я это делаю, компилятор имеет это предупреждение: "предупреждение: количество сдвигов влево >= ширина типа"
Я не понимаю, почему эта ошибка возникает.