【c語言】寫一個巨集定義,實現的功能是將一個int型的數的奇偶位互換
// 寫一個巨集定義,實現的功能是將一個int型的數的奇偶位互換,例如6的二進位制為0110,第一位與第二位互換,
// 第三位與第四位互換,得到1001,輸出應該為9
#include <stdio.h>
// 取出奇數位與偶數位,奇數位左移1位,偶數位一位,相加或者相或
#define EXCHANGE(num) (((0x55555555 & num) << 1) + ((0xaaaaaaaa & num) >> 1))
int main()
{
printf("%u\n", EXCHANGE(2));
printf("%u\n", EXCHANGE(3));
printf("%u\n", EXCHANGE(10));
printf("%u\n", EXCHANGE(5));
return 0;
}
<img src="https://img-blog.csdn.net/20150629213105535?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhcWlhbjU1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
相關文章
- C語言實現將一個陣列中的奇偶數分別存放C語言陣列
- 【c語言】判斷一個數是奇偶數C語言
- C語言(巨集定義)C語言
- c語言 - 模仿qsort的功能實現一個通用的氣泡排序C語言排序
- 【c語言】統計一個數二進位制中的1的個數C語言
- C語言實現的一個簡單的猜數小遊戲C語言遊戲
- C語言的本質(19)——預處理之一:巨集定義C語言
- C 語言是怎樣實現儲存一個 PHP5 的變數?PHP變數
- 用一個巨集實現求兩個數中的最大數
- 【c語言】求兩個數中不同的位的個數C語言
- 用c語言實現輸入一個十進位制數,計算其轉換為二進位制數後其中包含1的個數C語言
- 實現一個切換配方的功能
- 【C語言】編寫一個函式,將一個數字字串轉換成該字串對應的數字(包括正整數、負整數)。C語言函式字串
- 有關C語言的知識---巨集定義用法C語言
- 第一個C語言編譯器是怎樣編寫的?C語言編譯
- 第一個 C 語言編譯器是怎樣編寫的?編譯
- C語言巨集定義中#define中的井號#的使用C語言
- 一個C++巨集定義與列舉定義重複的編譯錯誤C++編譯
- C語言實現一個簡易的Hash table(7)C語言
- C 語言巨集定義 #define 的理解與資料整理
- C語言巨集定義##連線符和#符的使用C語言
- 好用的一個object c 巨集Object
- C++實現一個將字串中所有字母轉換為大寫的方法C++字串
- C/C++語言巨集定義##連線符和符#的使用C++
- c 語言中巨集定義和定義全域性變數的區別變數
- C語言atoi()函式:將字串轉換成int(整數)C語言函式字串
- 用 C 語言寫一個簡單的 Unix Shell(1)
- 用 C 語言寫一個簡單的 Unix Shell(2)
- 一個C語言宣告解析器的設計與實現C語言
- 定義一個單例型別的Qml單例型別
- c語言巨集的使用C語言
- 用 C 語言編寫一個簡單的垃圾回收器
- c語言 將一個陣列中的奇數和偶數分開放在一起C語言陣列
- 寫一個babel外掛實現按需打包的功能Babel
- 【C語言】給定兩個整型變數的值,將兩個值的內容進行交換C語言變數
- 使用 C 語言實現一個虛擬機器虛擬機
- 手寫一個HTTP框架:兩個類實現基本的IoC功能HTTP框架
- 【c語言】將一個數的二進位制序列逆序,然後輸出逆序之後的二進位制序,所對應的數C語言