使用宏将一个数二进制中的奇数位和偶数为进行交换
2017-07-04 11:31
274 查看
#include <stdio.h> #define CH(x) ((((x)&(0xAAAAAAAAA))>>1)+(((x)&(0x555555555))<<1)) int main() { int j = 0; int i = 0; int x = 0; printf("请输入一个数 :\n"); scanf("%d",&x); printf("这个数的二进制为:\n"); for (i=31;i>=0;i--) { printf("%d",(x>> i) & 1); } printf("\n"); j =CH(x); printf("交换后的为:\n"); for (i=31;i>=0;i--) { printf("%d",(j>> i) & 1); } printf("\n"); return 0; }
相关文章推荐
- //2.使用宏将一个数二进制中的奇数位和偶数为进行交换。 #include<stdio.h> #include<stdlib.h> #define EXH(x) \ ((x & 0x5555555
- 使用宏将一个数二进制中的奇数位和偶数为进行交换。
- 1.将数组A中的内容和数组B中的内容进行交换。(数组一样大) 2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。 3.将三个数按从大到小输出。 4.求两个数的最大公约数。
- 写一个宏可以将一个数字的奇数位和偶数位(二进制)交换。
- 交换一个整数二进制表示中的奇数位和偶数位
- 输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)
- C语言 定义一个宏,用于交换一个二进制序列的奇数位和偶数位
- 程序员面试金典 -- 面试29之交换一个数的二进制的奇数位和偶数位
- CI5.6-交换整数二进制形式中的奇数偶数位
- 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
- c语言:获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
- 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
- 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
- [置顶] 【C语言】获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
- 不使用中间变量,交换变量的值。求一个数二进制中1的个数
- c语言:获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
- 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
- 递归的使用:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n。将输出结果保留到至少8个小数点。
- ZeroMQ接口函数之 :zmq_z85_encode – 使用Z85算法对一个二进制秘钥进行加密,输出可打印的文本
- 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。