• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            tbwshc

            tbw

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            在C/C++中,整型的長度跟編譯器相關,編譯器的實現取決于CPU。 比如TC++是DOS16下的應用程序,DOS16是16位的操作系統,所以TC++中sizeof(int)==16;同理win32中sizeof(int)==32。

            C99標準定義一個叫著<stdint.h>的頭文件,該頭文件定義了一系列各種類別的整數類型typedef名字。盡管速多C++工具支持該頭文件已經有一段時間了,但它尚未正式收錄于C++標準,因此,在使用該頭文件之前,你應該先閱讀你的編譯器文檔,看看它是否支持該文件。在某些C++ 的編譯器中,如GNC,為了能使用C99標準的這些新特性,就在<inttypes.h>頭文件中引入了這個文件< stdint.h>.

            字長固定的整型類型

            C99標準在<stdint.h>這個頭文件的類型定義中,有一套是字長固定的整型類型:

            int8_t   int16_t   int32_t   int64_t

            與其對應的字長固定的無符號型整型類型有:

            uint8_t   uint16_t   uint32_t   uint64_t

            它們的名字非常直觀。例如,int8_t是長度固定為8比特的有符號整型類型,tb而uint8_t則是字長固定為8比特的無符號型整型類型。當你需要確保在不同的平臺上,整型數據的字長固定不變,那么你就可以使用這些typedef名字。允許對期望的性質進行更為詳細的描述。例如,有的類型的名字是 int_least8_t,它至少有 8 位,還有 int32_t,它恰好是 32 位。

            C99標準標準保證至少可以訪問 8 位、16 位、32 位和 64 位類型。沒有保證會提供精確寬度類型。不要使用這種類型,除非您肯定是實在不能接受更大的類型。另一個可選的類型是新的 intptr_t 類型,它是一個足夠大的可以容納一個指針的整數。并不是所有的系統都提供這樣一種類型(盡管當前所有的 Linux 和 BSD 實現都提供)。

            字長最小的快速整型類型

            該頭文件還定義了另外一套typedef名字,即“最小指定長度的快速整數類型”。這套typedef名字中的每一種都表示一種整數類型,它滿足在長度不小于某個指定長度的前提下,擁有最快的處理速度。這些整數類型的名字為int_fastX_t(有符號)或者uint_fastX_t(無符號),其中“X”表示最小指定長度。例如,int_fast32_t指得是字長至少為32比特的快速有符號整型類型。最小字長快速整型類型有:

            int_fast8_t  int_fast16_t  int_fast32_t  int_fast64_t

            對應的無符號整型類型有:

            uint_fast8_t  uint_fast16_t  uint_fast32_t  uint_fast64_t

            什么情況下使用這些typedef名字?

            假設你需要一個字長不少于16比特的循環計數器,那么你會希望該計數器的類型總是當前計算機CPU最佳操作的整型類型,而int_fast16_t可以保證任何平臺上的編譯器總是選擇字長不少于16比特的最快整型類型。

            #include <inttypes.h>
            for (int_fast16_t n=0; n<30000; ++n)
            {
            //.. do something
            }


             

            posted on 2012-07-21 11:53 tbwshc 閱讀(1049) 評論(0)  編輯 收藏 引用
            中文成人久久久久影院免费观看| 狠狠色伊人久久精品综合网| 区久久AAA片69亚洲| 免费精品国产日韩热久久| 99久久国产精品免费一区二区| 一本久道久久综合狠狠躁AV| 色狠狠久久AV五月综合| 国产高清国内精品福利99久久| 模特私拍国产精品久久| 婷婷综合久久中文字幕| 国产精品久久久久久久久久影院| 99久久99久久久精品齐齐| 久久精品二区| 国产精品天天影视久久综合网| 久久久中文字幕日本| 国产99久久精品一区二区| 性做久久久久久久久| 久久精品免费一区二区三区| 久久天天躁狠狠躁夜夜2020| 色欲久久久天天天综合网精品 | 亚洲va久久久噜噜噜久久| 99国产欧美久久久精品蜜芽| 亚洲国产日韩欧美综合久久| 亚洲国产精品久久久久久| 久久久久久国产精品无码下载| 99久久精品国产一区二区三区| 久久久久99精品成人片直播| 亚洲午夜无码久久久久小说| 久久国产精品偷99| 久久精品国产只有精品2020| 中文字幕日本人妻久久久免费| 亚洲午夜无码久久久久小说| 久久国产香蕉视频| 久久国产成人午夜AV影院| 99精品伊人久久久大香线蕉| 久久综合亚洲欧美成人| 亚洲国产高清精品线久久 | 欧美综合天天夜夜久久| 99久久精品免费看国产一区二区三区 | 亚洲国产精品无码久久98| 久久笫一福利免费导航|