• <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>

            唐吉訶德

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              5 Posts :: 75 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(2)

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

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            C+ +中char、unsigned char和signed char是三種類型,因此在函數(shù)重載和模板偏特化時(shí),應(yīng)注意重寫(xiě)它們的三個(gè)版本。雖然它們是三種類型,但char不是unsigned char就是signed char,且char是否有符號(hào)可由編譯器改變。因此不因編寫(xiě)依賴char是有符號(hào)還是無(wú)符號(hào)的代碼。

            在C/C++語(yǔ)言中,char變量為一個(gè)字節(jié),8位,signed char表示的范圍:-128~127【-128在內(nèi)存中的二進(jìn)制表示為1000 0000,127在內(nèi)存中的表示為0111 1111】;unsign char表示的范圍:0000 0000~1111 1111,即0~255

            注意:整數(shù)在內(nèi)存中是以補(bǔ)碼存取的,正數(shù)的補(bǔ)碼:等于自己,負(fù)數(shù)的補(bǔ)碼:取反加1,例如:127在內(nèi)存中表示為0111 1111, -127在內(nèi)存中表示為~(0111 1111)+1=1000 0001; 假定某內(nèi)存單元p的內(nèi)容是1111 1111,那么它一定是255嗎?實(shí)際上取決于你的代碼是要把它看成有符號(hào)還是無(wú)符號(hào)數(shù),如果是無(wú)符號(hào)則表示255,如果是有符號(hào)則表示-1【對(duì)于有符號(hào)數(shù),最高位為符號(hào)位,1表示負(fù),0表示正】:
            signed char c=*p; //c=-1
            unsigned char c=*p;//c=255
            這也解釋了上面這段代碼能判斷編譯器默認(rèn)char類型

            在 char 、unsigned char、signed char三者相互轉(zhuǎn)換中,并不丟失數(shù)據(jù)
            在實(shí)際工作中,char的用途還是很大的。以下將工作中遇到的問(wèn)題記錄。
            1.unsigned char m_ucStr[] = {0x31,0x32};
               當(dāng)char里面是16進(jìn)制時(shí),內(nèi)存里面值是一樣的。
              
              1.1 若想實(shí)現(xiàn)內(nèi)存里的數(shù)據(jù)是3132里
                   unsigned  char *str = new unsigned char[sizeof(m_ucStr)];
                  CopyMemory(str,array,sizeof(m_ucStr));
            2.unsigned char m_ucStr[] = {31,32};
              當(dāng)char里面是10進(jìn)制時(shí),內(nèi)存10進(jìn)制轉(zhuǎn)為16進(jìn)制
             
            3.在進(jìn)制 char * 和 char *字符串復(fù)制時(shí),若不指定源字符串長(zhǎng)度,用 strcpy,若指定源字符串長(zhǎng)度,用strncpy.但當(dāng)源字符內(nèi)存有 0x00時(shí),則再也不能用 strcpy和strncpy了,只能用 memcpy.因?yàn)閙emcpy不以0x00為指定結(jié)束符
            posted on 2010-11-26 23:23 心羽 閱讀(428) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 編碼
            国产精品久久久久乳精品爆| 久久久精品国产免大香伊| 亚洲狠狠婷婷综合久久蜜芽| 日韩久久久久久中文人妻| 亚洲AV无码成人网站久久精品大| 国产成人精品综合久久久| 久久精品人人做人人妻人人玩| 久久夜色精品国产噜噜麻豆 | 亚洲精品无码久久久久sm| 久久精品亚洲精品国产色婷| 精品久久久久久无码国产| 色天使久久综合网天天| 99久久精品国产麻豆| 色妞色综合久久夜夜| 国产精品成人99久久久久| 狠狠色丁香久久婷婷综合_中| 国产精品久久久久aaaa| 性做久久久久久久久浪潮| 亚洲国产精品久久久久| 亚洲中文字幕无码一久久区| 久久久久久一区国产精品| 日本一区精品久久久久影院| 亚洲va国产va天堂va久久| 久久久久久久免费视频| 国产亚州精品女人久久久久久 | 久久精品夜夜夜夜夜久久| 久久久久久久综合日本| 久久精品国产亚洲一区二区| AV无码久久久久不卡蜜桃| 久久精品视频一| 久久亚洲国产成人影院网站| 国产精品美女久久久网AV| 国内精品九九久久久精品| 日韩精品久久无码中文字幕| 99精品国产99久久久久久97| 久久久久av无码免费网| 国产一区二区久久久| 亚洲人AV永久一区二区三区久久| 久久婷婷色综合一区二区| 美女久久久久久| 亚洲国产成人久久一区久久|