<dl id="opymh"></dl>

<div id="opymh"></div>
      <div id="opymh"><tr id="opymh"></tr></div>

        <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

        <em id="opymh"></em>

        <em id="opymh"><ol id="opymh"></ol></em>

              頻道欄目
              首頁 > 程序開發 > 軟件開發 > C語言 > 正文
              C語言:寫一個宏可以將一個數字的奇數位和偶數位交換
              2018-07-24 15:58:40         來源:ETalien_的博客  
              收藏   我要投稿

              此題的解決思路為:將一個數字的奇數位提取出來并向左移動1位,偶數位提取出來并向右移動1位,將奇數位與偶數位移位后的值相加即可以實現。

              例如:11----->1011

              奇數位提取出來為0001---->向左移動1位為0010

              偶數位提取出來為1010---->向右移動1位為0101

              兩個移位后的值相加為0111---->輸出的值為7

              這樣就完成了奇數位和偶數位交換。

              具體代碼如下:

              需要注意的是宏的使用要盡可能適當的多使用括號,以防操作符的優先級影響結果。

              #include 
              #include 
              #define SWAP(X) ((((X)&0x55555555)<<1)+(((X)&0xaaaaaaaa)>>1))
                //提取奇數位向左移動1位//提取偶數位向右移動1位
              int main()
              {
              	int n = 11;
              	int ret = SWAP(n);
              	printf("ret = %d\n", ret);
              	system("pause");
              	return 0;
              }
              點擊復制鏈接 與好友分享!回本站首頁
              上一篇:C#之一次性清空textbox、combobox中所有的內容
              下一篇:最后一頁
              相關文章
              圖文推薦
              點擊排行

              關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

              版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

              极速飞艇好假
              <dl id="opymh"></dl>

              <div id="opymh"></div>
                  <div id="opymh"><tr id="opymh"></tr></div>

                    <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                    <em id="opymh"></em>

                    <em id="opymh"><ol id="opymh"></ol></em>

                          <dl id="opymh"></dl>

                          <div id="opymh"></div>
                              <div id="opymh"><tr id="opymh"></tr></div>

                                <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                                <em id="opymh"></em>

                                <em id="opymh"><ol id="opymh"></ol></em>