我在stdint.h
中看到了一個整數的不同類型的定義。以無符號32位整數爲例。uint32_t vs uint_fast32_t vs uint_least32_t
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
?
感謝您的解釋。
'uint_fast32_t和uint_least32_t也意味着32位的無符號整數'錯誤 –
部分重複的http://stackoverflow.com/questions/5254051/the-difference-of-int8-t-int-least8-t-and -int-fast8-t/5254321 – dan04