`
柯小芍
  • 浏览: 13061 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

运算符小记

 
阅读更多

如何走进计算机的世界,先从最简单的运算来吧!!!!

下面是自己时常有些陌生的运算符,码下以备时时查看,也非常欢迎路过的看官查漏补缺~

1.%=和/=

如果a=7;
%是取模或者说取余数,%=举例:a %= 3;相当于a=a%3;将a除3的余数赋给a,结果:a=1
/是除法运算符,/= :a /= 3; 相当于a=a/3;将a除3的值取整赋给a,结果:a=2
2.|、&、^、>>、<<都是运算符二进制数运算
| 按位或,运算规则是:0|0=0,0|1=1,1|0=1,1|1=1
例:53|22的结果为55,运算过程,
   110 101 (53转为二进制是110101)
   010 110  (22转为二进制是10110,左边补0)
--------------
  100 111  (110111转为十进制是55)
运算过程中从右开始对齐,左边不够的补0
所以如果:a=53;
则:a |=22,相当于a=a|22,a=55
 
 
&按位与,运算规则是:0&0=0,0&1=0,1&0=0,1&1=1
例:53&22的结果为20,运算过程,
   110 101 (53转为二进制是110101)
   010 110  (22转为二进制是10110,左边补0)
--------------
  010 100  (10100转为十进制是20)
运算过程中从右开始对齐,左边不够的补0
所以如果:a=53;
则:a &=22,相当于a=a&22,a=20
 
 
^按位异或,运算规则是:0^0=0,0^1=1,1^0=1,1^1=0
例:53^22的结果为35,运算过程,
   110 101 (53转为二进制是110101)
   010 110  (22转为二进制是10110,左边补0)
--------------
  100 011  (100011转为十进制是35)
运算过程中从右开始对齐,左边不够的补0
所以如果:a=35;
则:a ^=22,相当于a=a^22,a=35
 
>>,<<位移运算符,
>>右移,22转为二进制是00010110(正数的二进制不足八位,在前面加0补足八位),向右移1位为01011,将右边移掉的位丢掉,左边补0,所以00001011转为十进制是:11
<<左移,22转为二进制是00010110,向左移1位为00101100,将左边移掉的位丢掉,右边补0,所以00101100转为十进制是:44
 
所以a=22;
a >>=1 ,相当 于a=a>>1,a=11
a<<=1,相当于 a=a<<1,a=44,
 
关于位移运算符,如果怕麻烦,有一个死办法,右移变小,a右移n位相当于a除2的n次方
                                                                          左移变大,a左移n位相当于a乘2的n次方

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics