交换奇偶

#include<stdio.h>
void Print(int num) {
int m[32] = { 0 }, n = 0,j;
do {
m[n] = num % 2;
num = num / 2;
n++;
} while (num != 0);
for (j = n - 1; j >= 0; j--)
printf("%d", m[j]);
printf("\n");
}
int swap(int num) {
return ((num & 0xaaaaaaaa) >> 1) + ((num & 0x55555555) << 1);
}
int main() {
int num;
printf("请输入一个数;");
scanf("%d", &num);
printf("初始二进制位:");
Print(num);
int result = swap(num);
printf("swap十进制=%d\nswap二进制\n",result);
Print(result);


return 0;
}

posted @ 2023-03-04 14:24  skj55  阅读(55)  评论(0)    收藏  举报