Java新手之路——Day05 运算符(2)

逻辑运算符

Image(18)

^异或运算:a^b,如果a、b不相同,则异或结果为1。如果a、b相同,异或结果为0

Image(19)

    位运算符

Image(20)

Image(21)

注意!右移时,原最高位是什么,空位就补什么,正数补0,负数补1

>>>无符号右移

无论原最高位是什么,空位都补0

  1. 左移右移可以用来进行2的次幂的乘除运算
  2. 无符号右移可以用来操作二进制数中的一段二进制位,如每三个二进制位右移一次,可以将二进制数转换成相对应的八进制数.

运用:怎样用最有效率的方式计算2乘以8

答案:2<<3

&运算

Image(22)

0代表假,1代表真

与运算的巧妙运用,可用于获取二进制中的有效位1

例如想要取00101011的后三位,可以将其进行与运算

  00101011

& 00000111

   - - - - - - -

    00000011

|运算:或运算,只要有一个1结果就为1(真)

Image(23)

^异或运算

Image(24)

posted @ 2015-12-03 23:30  Swjojo  阅读(97)  评论(0)    收藏  举报