Я видел различные типы определения целого числа в stdint.h
. Я приведу в качестве примера 32-битное целое число без знака.
-
uint32_t
означает четное целое число без знака 32 бита. Это тот, который я всегда использую. -
uint_fast32_t
иuint_least32_t
: Какая разница сuint32_t
и когда я должен использовать их вместоuint32_t
?
И теперь я увидел uintX_t
, где X - 24, 40, 48 и 56. В моем коде бывает, что я должен работать с 48 и 56-битными целыми числами. В качестве примера, я полагаю, что uint24_t
определяется как нечто подобное:
struct uint24_t { unsigned int the_integer : 24; };
Я прав? И предложите ли вы мне использовать uint48_t
для моих 48-битных целых чисел без знака или я должен использовать обычный uint64_t
?
Спасибо за ваши объяснения.