📝 題述1:寫一個函式,可以將一個整數的二進制位的奇數和偶數位交換(注:二進制的最低位為奇數位)
💨 輸入描述:無
💨 輸出描述:在螢屏上輸出交換后的十進制數
🔑 核心思想:分別利用位操作得到偶數和奇數位,并讓它們相加即可

#include<stdio.h>
int SwapBit(int n)
{
return ((n & 0xaaaaaaaa) >> 1) + ((n & 0x55555555) << 1);
}
int main()
{
int n = 10;
int ret = SwapBit(n);
printf("%d\n", ret);
return 0;
}
📝 題述2:寫一個宏,可以將一個整數的二進制位的奇數和偶數位交換(注:二進制的最低位為奇數位)
💨 輸入描述:無
💨 輸出描述:在螢屏上輸出交換后的十進制數
🔑 核心思想:同上
#include<stdio.h>
#define SwapBit(n) ((n & 0xaaaaaaaa) >> 1) + ((n & 0x55555555) << 1)
int main()
{
int n = 10;
int ret = SwapBit(n);
printf("%d\n", ret);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297620.html
標籤:其他
上一篇:組合數學(持續更新)
