第一篇 黑马程序员-逻辑运算符

来源:互联网 发布:平板电脑淘宝怎么开店 编辑:程序博客网 时间:2024/05/18 02:36

------- android培训、java培训、期待与您交流! ----------

一.
&:与,其中一个为假就为假。
|:或,两个为假才为假。
^:异或,和|有点不一样,当true^true=false,true^false=true,false^true=true,false^false=false,
总结:两边相同结果是假,两边不同结果是真。
位运算符:
<<:左移,3<<2=12,即3*2的2次方=12, 3<<1=6,即3*2的一次方=6.
>>:右移:跟左移相反,右移后补什么由最高位的数值而定,如果最高位是0话,就补0如果是1的话
就补1.
>>>:无符号右移,右移后,都是用0补空位.
二.
&:与运算,比如6&3等于几呢?6用二进制表示是110,3用二进制表示是011,由于1&0或0与1都是假,即0,所以
把他们二进制作&运算后的二进制值为010,即为2.
|:或运算,比如6|5等于几呢?6用二进制表示是110,5用二进制表示是101,由于1|0或0|1都是真,所以
把他们二进制作|运算后的二进制值为111,即为7。
^:异或运算,比如6^5,6用二进制表示是110,5用二进制表示是101,异或由于是两边相同即为假,即1^1=0,
0^0=0,而两边不相同即为真,即1^0=1,0^1=1,所以把他们的二进制作异或运算后的值为011.即为3.
一个数异或同一个数两次,结果还是那个数。
~:反码,其实就是取反,比如要求6的反码,先把6用二进制表示就是 000....000110,然后将其取反就是
111....111001,将它减个一再取反,1用二进制表示就是111....111001,再将它们相减得到000....000111
将它转成十进制数就是-7.

------- android培训、java培训、期待与您交流! ----------

原创粉丝点击