簡體   English   中英

有人可以解釋從庫中使用uint32_t的重要性 <stdint.h> ?

[英]Can someone explain the significance of using uint32_t from the library <stdint.h>?

我最近看到someones代碼在代碼廚師上使用這個變量類型和庫。 我想知道是否有人可以解釋使用uint32_t而不是intfloatdouble等的好處。還有什么情況我應該使用/不使用它?

鏈接到代碼: http//www.codechef.com/viewsolution/131898

優點是uint32_t始終保證為32位長,而長度與平台相關的基本類型則相反。 例如,雖然int在x86和x86_64上是32位,但在許多其他64位平台上它們是64位,而在某些舊的和/或嵌入式架構上則小於64位。

然后,當你直接從磁盤/網絡讀取二進制數據時,其中一個使用uint32_t可能是有益的情況。 您始終只需將4個字節復制到uint32_t並確保它適合。 (但是,您仍然需要注意例如字節序的差異。)

如果您只是想要可預測的上溢/下溢行為,您可能還想使用uint32_t 或者,如果您正在進行某些特定大小的計算,例如運行某些散列算法時。

我唯一想知道的是為什么沒有相應的float32_tfloat64_t類型。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM