try %llu - это будет длинным длинным без знака в десятичной форме
%llx печатает длинный длинный знак без знака в шестнадцатеричном формате
Ответ 3
printf("Hex add is: %llu", hexAdd);
Ответ 4
У меня была похожая проблема с этим при использовании библиотек MinGW. Я не мог заставить его распознавать вещи% llu или% llx.
Вот мой ответ...
void PutValue64(uint64_t value) {
char a_string[25]; // 16 for the hex data, 2 for the 0x, 1 for the term, and some spare
uint32 MSB_part;
uint32 LSB_part;
MSB_part = value >> 32;
LSB_part= value & 0x00000000FFFFFFFF;
printf(a_string, "0x%04x%08x", MSB_part, LSB_part);
}
Обратите внимание, я думаю, что% 04x может быть просто% x, но требуется% 08x.