stdint.h 文件
<stdint.h> 定義了 int16_t 、 uint32_t 、 int64_t 等整型,在需要確定大小的整型時可以使用它們代替 short 、 unsigned long long 等,在 C 整型中,只使用 int 。適當情況下,推 薦使用標準類型如 size_t 和 ptrdiff_t 。
最常使用的是,對整數來說,通常不會用到太大,如循環計數等,可以使用普通的 int 。 你可以認為 int 至少為 32 位,但不要認為它會多于 32 位,需要 64 位整型的話,可以使用int64_t 或 uint64_t 。對于大整數,使用 int64_t 。
不要使用 uint32_t 等無符號整型,除非你是在表示一個 位組( bit pattern ) 而不是一個 數值。即使數值不會為負值也不要使用無符號類型,使用斷言來保護數據。
有些人,包括一些教科書作者,推薦使用無符號類型表示非負數,類型表明了數值取值形 式 。但是,在 C 語言中,這一優點被由其導致的 bugs 所淹沒??纯?#xff1a;
for (unsigned int i = foo.Length()-1; i >= 0; --i)?
上述代碼永遠不會終止!有時 gcc 會發現該 bug 并報警,但通常不會。類似的 bug 還會 出現在比較有符合變量和無符號變量時,主要是 C 的 類型提升機制( type-promotion
scheme , C 語言中各種內建類型之間的提升轉換關系) 會致使無符號類型的行為出乎你 的意料。因此,使用斷言聲明變量為非負數,不要使用無符號型。
以下內容轉載自http://apps.hi.baidu.com/share/detail/32935657
[cpp] view plaincopy print?stdint.h文件如下:
[cpp] view plaincopy print?總結
以上是生活随笔為你收集整理的stdint.h 文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper系列(一)
- 下一篇: thrift中TNonblockingS