1 操作符

(1)移位操作符

  左移<<:值最左边的几位丢弃,右边多出来的几个空位用0补齐

    01101101

   011(丢弃)01101000(后面三位补0)

  右移>>:

    算术左移和逻辑左移只有操作数是负值的时候才不一样。算术移位,左边移入的位由原先该值的符号位决定,符号位为1则移入的位均位1,符号为0则移入的位均为0,因为这样可以保证原来数的正负不变。

    10010110右移2位,逻辑移位为00100101,算术移位11100101

案例1:

 1 //计算1的位的个数
 2 int count_one_bits(unsigned value)
 3 {
 4     int ones;
 5     for(ones=0;values!-0;value=value>>1)
 6     {
 7           if(value%2!=0)
 8           {
 9                 ones=ones+1;
10           }
11     } 
12     return ones; 
13 }        
View Code

相关文章:

  • 2021-05-20
  • 2021-06-01
  • 2021-08-24
  • 2021-12-23
  • 2022-01-05
  • 2021-07-30
  • 2021-07-08
  • 2022-01-12
猜你喜欢
  • 2021-10-18
  • 2021-10-20
  • 2022-12-23
  • 2021-10-15
  • 2021-07-23
  • 2021-05-16
  • 2021-07-27
相关资源
相似解决方案