首页 > 其他 > 详细

c中“>>”与“&”运算符

时间:2015-10-20 06:44:40      阅读:282      评论:0      收藏:0      [点我收藏+]


       在c中位运算符有:与、 或、异或、取反、左移和右移,位运算符是以二进制进行运算的。
       右移运算符,是将一个数的各二进制位右移动n位,移到右端的低位被舍弃,对于无符号数,高位补0,即在十进制中,每右移动一位等价于除以2,例如:
   
   a:10101010 01010101   a>>2:00101010 10010101
   
   对于有符号数,某些机器将对左边空出的部分用符号位填补但一些机器则对左边空出的部分用0填补。例如:
   
   a:11100111 00011101 a>>1:01110011 1000111011110011 10001110
   
  c中源代码:

写出15转化为二进制后1的个数。

 

#include<stdio.h>

int main()

{

 int a=15;

 int count=0;

 while(a)

 {

   if(a%2==1)

   count++;

   a=a>>1;}

   printf("%d",count);

return 0;

}


结果为:4

与运算符:按位与运算符&经常用于屏蔽某些二进制位。例如:


a:1001 0111  b:1111 0000    a&b:1001 0000


c程序

输入一个数转化为二进制后1的个数。

#include<stdio.h>

int main()

{

int count=0;

int num;

    scanf("%d",&num);

while(num)

{

count++;

num=num&(num-1);

}

     printf("%d\n",count);

return 0;

}

结果:4


c中“>>”与“&”运算符

原文:http://19940325.blog.51cto.com/10789287/1704351

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!