如何走进计算机的世界,先从最简单的运算来吧!!!!
下面是自己时常有些陌生的运算符,码下以备时时查看,也非常欢迎路过的看官查漏补缺~
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次方