Вы можете попробовать использовать библиотеку inttypes.h, которая предоставляет такие типы, как
int32_t
, int64_t
, uint64_t
и т. Д.
Затем вы можете использовать его макросы, такие как:
uint64_t x;
uint32_t y;
printf("x: %"PRId64", y: %"PRId32"\n", x, y);
Это "гарантировано", что не доставит вам таких же проблем, как long
, unsigned long long
и т. Д., Поскольку вам не нужно угадывать, сколько битов в каждом типе данных.