#define MAX 0xdeadbeaf12LL
Указывает компилятору использовать самый длинный доступный целочисленный тип (который затем будет приведен к соответствующему типу везде, где используется MAX
).
На большинстве платформ числовой литеральный суффикс LL
будет соответствовать signed long long
, это 32 бита (8 байт) в 32-битной системе.Превосходная система ввода текста и предупреждения компилятора позаботятся обо всем остальном.
Ваш printf
затем должен использовать модификатор ll
:
printf(" 0x %2llx \n", MAX);