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

            積木

            No sub title

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              140 Posts :: 1 Stories :: 11 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(1)

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

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             

            無意中看到的一篇,挺不錯(cuò)的。呵呵。收藏下。
             
            c++字符大小寫轉(zhuǎn)換

              原為某著名軟件公司試題,大意如下:請實(shí)現(xiàn)以下兩個(gè)函數(shù):char toupper(char c); char tolower(char c); 分別用于將傳入的字母轉(zhuǎn)為大寫和小寫。兩個(gè)函數(shù)傳入的參數(shù)取值范圍都是[a-zA-Z],并且為ASCII編碼,實(shí)現(xiàn)時(shí)不用檢查參數(shù)合法性。兩個(gè)函數(shù)的實(shí)現(xiàn)不能使用任何形式的分支、跳轉(zhuǎn)等類型的語句或指令(特別說明:C/C++的條件操作符?:也是分支指令的一種形式,故而不能使用)。請盡可能多的寫出你知道的辦法。  

              分析解決:此題比較特別,限制嚴(yán)格,根據(jù)題目要求,排除if else、for、while、do while、switch case、?:外,能使用的語句就只有 =、+=、-=、&、|、^、++、--這些了,想要實(shí)現(xiàn)大小寫轉(zhuǎn)換,只能從這些語句中進(jìn)行選擇思考,由于字符集為ASCII編碼,且范圍明確為[a-zA-Z],我們知道,a-z對應(yīng)ASCII值為97-122,A-Z對應(yīng)ASCII為65-90,觀察這些數(shù)字,可以發(fā)現(xiàn)97-122都大于96 ,65-90都大于64且小于96,進(jìn)一步從二進(jìn)制上考慮,則發(fā)現(xiàn)所有小寫字母對應(yīng)的二進(jìn)制形式為011XXXXX,大寫字母對應(yīng)的二進(jìn)制形式為010XXXXX,一到這里,哈哈,答案就出來了,通過位運(yùn)算&和|就可實(shí)現(xiàn)了。代碼描述如下

             1char toupper(char c)
             2{
             3    return c & 0x5F;
             4}
             5
             6char tolower(char c)
             7{
             8    //c | 0x60也行,但不太好,因?yàn)?x60會改變結(jié)果的第7位值,根據(jù)題目意思,改變第6位值為1,而其它位保持不變就夠了。
             9    return c | 0x20;
            10}
               至于其它方法,我就沒多想了,還希望各位大俠多多分享一下哈。

            posted on 2011-11-23 14:45 Jacc.Kim 閱讀(992) 評論(0)  編輯 收藏 引用 所屬分類: VC / C++
            亚洲国产婷婷香蕉久久久久久| 色综合久久88色综合天天| 久久无码专区国产精品发布| 国内精品人妻无码久久久影院导航| 狠狠色婷婷久久一区二区| 国产∨亚洲V天堂无码久久久| 国产国产成人久久精品| 久久综合色老色| 久久久久久久综合日本亚洲| 久久精品国产欧美日韩99热| 久久线看观看精品香蕉国产| 亚洲人AV永久一区二区三区久久| 成人国内精品久久久久一区| 无码乱码观看精品久久| 久久久无码人妻精品无码| 久久久久国产一区二区三区| 国产午夜福利精品久久2021 | 欧美日韩中文字幕久久伊人| 精品久久久久成人码免费动漫 | 久久精品国产亚洲5555| AV无码久久久久不卡蜜桃| 久久精品国产精品亚洲下载| 久久久久久久尹人综合网亚洲| 久久婷婷国产剧情内射白浆| 国产免费福利体检区久久| 久久精品无码专区免费青青| 久久婷婷色香五月综合激情| 很黄很污的网站久久mimi色| 国产欧美久久一区二区| 色综合久久无码五十路人妻| 久久久久亚洲AV无码观看| 激情五月综合综合久久69| 精品久久久久久国产| 久久精品国产99久久无毒不卡| 久久精品国产亚洲av麻豆蜜芽| 午夜精品久久久久久影视riav| 久久久久综合中文字幕| 久久综合给合综合久久| 久久不射电影网| 国产精品久久久久无码av| 成人国内精品久久久久一区|