黑马程序员技术交流社区

标题: 关于位运算符的使用技巧 [打印本页]

作者: 4B青年    时间: 2015-7-4 16:15
标题: 关于位运算符的使用技巧
关于位运算符的使用技巧:
1、任何数与1进行按位与运算(&),结果为最低位的数码值。(非0即1)
PS:由于结果非0即1,故可用来判断奇偶性;
2、利用&可以将任意二进制数的某一数位置0;
3、交换两个变量的值,不用到临时变量。(利用任意数与同一个数进行2次按位异或运算,其值不变)
例题1:输入一个数,判断其奇偶性。
  1. int a;
  2. scanf("%d",&a);
  3. if(a&1)printf("a是奇数");
  4. else printf("a是偶数");
复制代码

例题2: 00001010
         & 00000100
————————
            00001110
例题3:交换a、b变量的值,不再定义变量。
  1. int a,b;
  2. scanf("%d,%d",&a,&b);
  3. a=a^b;
  4. b=a^b;
  5. a=a^b;
  6. printf("%d,%d",a,b);
复制代码


作者: 徐会会    时间: 2015-7-4 19:04
抢个沙发
作者: 弹剑    时间: 2015-7-4 23:49
很不错的技巧
作者: 984326157    时间: 2015-7-5 02:03
不错,学习了
作者: zilin    时间: 2015-7-5 10:16
确实比一些方法快得多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2