• <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++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            在C/C++中,整型的長(zhǎng)度跟編譯器相關(guān),編譯器的實(shí)現(xiàn)取決于CPU。 比如TC++是DOS16下的應(yīng)用程序,DOS16是16位的操作系統(tǒng),所以TC++中sizeof(int)==16;同理win32中sizeof(int)==32。

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

            字長(zhǎng)固定的整型類型

            C99標(biāo)準(zhǔn)在<stdint.h>這個(gè)頭文件的類型定義中,有一套是字長(zhǎng)固定的整型類型:

            int8_t   int16_t   int32_t   int64_t

            與其對(duì)應(yīng)的字長(zhǎng)固定的無(wú)符號(hào)型整型類型有:

            uint8_t   uint16_t   uint32_t   uint64_t

            它們的名字非常直觀。例如,int8_t是長(zhǎng)度固定為8比特的有符號(hào)整型類型,tb而uint8_t則是字長(zhǎng)固定為8比特的無(wú)符號(hào)型整型類型。當(dāng)你需要確保在不同的平臺(tái)上,整型數(shù)據(jù)的字長(zhǎng)固定不變,那么你就可以使用這些typedef名字。允許對(duì)期望的性質(zhì)進(jìn)行更為詳細(xì)的描述。例如,有的類型的名字是 int_least8_t,它至少有 8 位,還有 int32_t,它恰好是 32 位。

            C99標(biāo)準(zhǔn)標(biāo)準(zhǔn)保證至少可以訪問(wèn) 8 位、16 位、32 位和 64 位類型。沒(méi)有保證會(huì)提供精確寬度類型。不要使用這種類型,除非您肯定是實(shí)在不能接受更大的類型。另一個(gè)可選的類型是新的 intptr_t 類型,它是一個(gè)足夠大的可以容納一個(gè)指針的整數(shù)。并不是所有的系統(tǒng)都提供這樣一種類型(盡管當(dāng)前所有的 Linux 和 BSD 實(shí)現(xiàn)都提供)。

            字長(zhǎng)最小的快速整型類型

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

            int_fast8_t  int_fast16_t  int_fast32_t  int_fast64_t

            對(duì)應(yīng)的無(wú)符號(hào)整型類型有:

            uint_fast8_t  uint_fast16_t  uint_fast32_t  uint_fast64_t

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

            假設(shè)你需要一個(gè)字長(zhǎng)不少于16比特的循環(huán)計(jì)數(shù)器,那么你會(huì)希望該計(jì)數(shù)器的類型總是當(dāng)前計(jì)算機(jī)CPU最佳操作的整型類型,而int_fast16_t可以保證任何平臺(tái)上的編譯器總是選擇字長(zhǎng)不少于16比特的最快整型類型。

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


             

            posted on 2012-07-21 11:53 tbwshc 閱讀(1055) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久中文精品无码中文字幕 | 久久天天躁狠狠躁夜夜躁2O2O| 国产成人综合久久久久久| 久久免费高清视频| 久久精品国产99国产精偷 | 久久久久黑人强伦姧人妻| 成人午夜精品久久久久久久小说| 久久不射电影网| 久久精品?ⅴ无码中文字幕| 久久久WWW成人免费精品| 亚洲欧美久久久久9999| 久久久久久精品免费免费自慰| 久久夜色精品国产噜噜亚洲a| 麻豆久久久9性大片| 久久综合给合久久狠狠狠97色| 久久精品国产亚洲av水果派 | 国内精品伊人久久久影院| 欧美va久久久噜噜噜久久| 久久久久四虎国产精品| 久久久人妻精品无码一区| 国产69精品久久久久久人妻精品| 久久99国产综合精品| 久久精品国产精品亚洲艾草网美妙 | 亚洲伊人久久大香线蕉苏妲己| 久久久99精品成人片中文字幕| 欧美精品乱码99久久蜜桃| 国产精品久久久久久搜索| 久久久久国产一级毛片高清板| 一本色道久久HEZYO无码| 精品国产91久久久久久久| 久久精品极品盛宴观看| 久久91综合国产91久久精品| 一本色道久久综合狠狠躁篇| 久久国产精品成人片免费| 久久伊人中文无码| WWW婷婷AV久久久影片| 国产精品亚洲综合久久| 国产精品免费看久久久香蕉| 久久精品国产亚洲av麻豆色欲| 久久伊人精品青青草原日本|