Я пытаюсь напечатать некоторые 64-битные целые числа без знака, используя что-то вроде этого:
uint64_t x = 0xFFFFFFFFFFFFFFFF;
printf("Value: %016llx \n", x);
и получаю в ответ:
0000000000000000lx
Если я изменю строку форматирования на% 016lx, я получаю предупреждение компиляции об использовании неправильного типа, и он печатает только младшие 32 бита:
00000000FFFFFFFF
У меня в параметрах компилятора есть строка -std = c99, которая должна обеспечивать выполнение параметра ll, верно?
Для справки, это компилятор arm-none-eabi-gcc (v4.7.3), который поставляется с последней версией Simplicity Studio IDE от Silicon Labs.
stdio.h
, верно? - person nneonneo   schedule 02.10.2014