• <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>
            隨筆-145  評(píng)論-173  文章-70  trackbacks-0

            符號(hào)擴(kuò)展和截?cái)嗟膸c(diǎn)認(rèn)識(shí):

            1.      符號(hào)擴(kuò)展。。

               short int a = -4;

               short int b = 8;

               print_binary(a);

               print_binary(b);

               unsigned short int c = a; //類型轉(zhuǎn)換

               unsigned int d = a;

               print_binary(c);

               print_binary(d);

               return 0;

            結(jié)果是:

            11111111 11111100

            00000000 00001000

            11111111 11111100

            11111111 11111111 11111111 11111100

            請(qǐng)按任意鍵繼續(xù). . .

             

            從結(jié)果可以看到:

            1.類型轉(zhuǎn)換時(shí)不改變位的標(biāo)志的。

            2.      符號(hào)擴(kuò)展,將一個(gè)有符號(hào)的擴(kuò)展的話是符號(hào)擴(kuò)展。從short擴(kuò)展到int,由于是負(fù)數(shù),所以符號(hào)擴(kuò)展,前面的都是111111……

             

             

            2.截?cái)嗵幚恚?/span>

            int a = -4;

               short int b = a;

               int c = 4;

               short int d = c;

               print_binary(a);

               print_binary(b);

               print_binary(c);

               print_binary(d)

            結(jié)果是:

            11111111 11111111 11111111 11111100

            11111111 11111100

            00000000 00000000 00000000 00000100

            00000000 00000100

            請(qǐng)按任意鍵繼續(xù). . .

            發(fā)現(xiàn)了,截?cái)喔呶唬还芊?hào),都要截?cái)喔呶坏牟糠帧?/span>

             

            3.乘法和除法:

            當(dāng)存儲(chǔ)數(shù)據(jù)的位數(shù)不足以存儲(chǔ)乘積的時(shí)候,會(huì)造成截?cái)嗾`差,通過(guò)截?cái)啵玫轿覀兊慕Y(jié)果不是想要的結(jié)果:看下例:

            char a = 120;

               print_binary(a);

               char c = 120;

               print_binary(c);

               char d = a * c;

               cout << (short)d << endl;

               print_binary(d);

               int e = a * c;

               cout << e << endl;

               print_binary(e);

               return 0;

             

            結(jié)果是:

             

            01111000

            01111000

            64

            01000000

            14400

            00000000 00000000 00111000 01000000

            請(qǐng)按任意鍵繼續(xù). . .

            看到了沒(méi)有,對(duì)于一個(gè)char類型的數(shù)據(jù),如果將兩者的乘積還是保存為char,那么就有可能發(fā)生截?cái)啵a(chǎn)生誤差。此例即為說(shuō)明,而如果將結(jié)果用int來(lái)保存,可以看到完整的位表示,然后具體的截?cái)嘁仓懒恕4藭r(shí)就可以得到正常的結(jié)果,因?yàn)橛凶銐虻奈唬瑳](méi)有造成損失。。

             

            posted on 2009-10-08 12:38 deercoder 閱讀(1648) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 深入理解計(jì)算機(jī)系統(tǒng)
            日本欧美国产精品第一页久久| 久久久精品国产亚洲成人满18免费网站 | 99久久香蕉国产线看观香| 欧美大战日韩91综合一区婷婷久久青草| 久久996热精品xxxx| 久久亚洲精品无码aⅴ大香| 韩国三级大全久久网站| 国产成人精品久久亚洲高清不卡| 久久婷婷五月综合97色直播| 久久国产成人精品麻豆| 亚洲精品乱码久久久久久不卡| 久久精品国产亚洲av高清漫画| 国产精品内射久久久久欢欢| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 精品无码久久久久久午夜| 国内精品久久久久久久coent | 伊人久久综合精品无码AV专区| 2020最新久久久视精品爱| 久久久久av无码免费网| 久久无码精品一区二区三区| 99久久婷婷国产综合亚洲| 精品熟女少妇AV免费久久 | 久久精品国产亚洲AV香蕉| 亚洲国产香蕉人人爽成AV片久久| 久久九九亚洲精品| 久久人人妻人人爽人人爽| 亚洲一区精品伊人久久伊人| 久久精品二区| 久久久久九国产精品| 国产精品日韩深夜福利久久| 国产一久久香蕉国产线看观看| 久久人人爽人人爽人人AV东京热| 97精品依人久久久大香线蕉97| 中文字幕无码久久久| 婷婷久久五月天| 久久久久久亚洲精品影院| 欧美伊人久久大香线蕉综合| 国内精品九九久久精品| 丁香色欲久久久久久综合网| 久久综合给久久狠狠97色| 久久精品国产第一区二区三区|