USHRT_MAX
, в случае OP - 65535. (unsigned short) 0x80000001
преобразуется в 1 для C 11 6.3.1.3, как указано.
unsigned short 1
определенно преобразуется в int 1
для целочисленного продвижения как часть, являющаяся аргументом функции .... Это соответствует "%d"
и печатается "1"
.