Мой код такой (main.c):
#include <inttypes.h>
#include <stdio.h>
int
main(int argc, char **argv)
{
uint64_t n;
n = UINT64_MAX;
printf("%" PRIX64 " %" PRIu64 "\n", n, n);
return 0;
}
Вывод программы такой:
FFFFFFFFFFFFFFFF 18446744073709551615
Но я ищу это:
10000000000000000 18446744073709551615
Я использую GCC (gcc -std = c99 main.c):
gcc (Ubuntu / Linaro 4.4.4-14ubuntu5) 4.4.5
Поиск ответа в Google дал мне это:
http://bytes.com/topic/c/answers/565055-convert-64-integer-hex-octet-string
Теперь я потерян. Что я делаю не так?