`
l4432848
  • 浏览: 244161 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java位运算符

    博客分类:
  • java
阅读更多

什么是位运算符?例如:一个int类型他有4个字节也就是32位,那么他就需要用到32位来进行存储。int i = 5; 他这个5是从10进制转换成二进制进行存储的:0000 0000 0000 0000 0000 0000 0000 0101 位运算就是通过把数值先转换成二进制之后再进行运算的这种方式就叫做位运算,他就是在位上面来做运算的。他的0代表false 1代表true。位运算符有:&(与)、|(或)、^(异或)、~(取反)、<<(左移)、>>(右移)、>>>(无符号右移) 。

  &(与) 其实和逻辑运算符的 && 很像,因为 && 他求的就是如果前面的值为true,那么他就会再去看后面的是值true还是false。如果前面为的值false,那么他不会去看后面的值,而 &(与) 如果都为1才为1,如果有一边是0那么就是0 ,所以跟 && 很像。但是我们的编程很少用 & 除非在位上面才会用 &,平时都是用 &&代替的,用在逻辑方面肯定用 &&。& 他是在位上面的发挥。如图4.7所示:

  

  图4.7

  |(或) 其实和逻辑运算符的 || 很像,||他求的就是如果前面是true那么他后面的值就不看了,如果前面是false那么他必须去看后面的值是true还是false,而 |(或) 如果有一个为1的话,那么他就为1,如果都为0才为0,所以跟 ||很像。但是我们的编程也是很少用 | 除非在位上面才会用 | ,平时都是用 || 代替的,用在逻辑方面肯定用 ||。| 他是在位上面的发挥。如图4.71所示:

  

  图4.71

  ^(异或) 其实和关系运算符的 != 很像,因为他求的就是不等于,不等于运算规则是他一边为false一边为true那么他算出来的就是true,如果两边都是true那么他算出来的就是false,而 ^(异或) 他的运算规则是:一边为0一边为1那么算出来的是1,如果两边都是相同的算出来的就是0,所以跟 != 很像,但是我们的编程很少用 ^(异或) 除非在位上面才会用异或,平时都是用不等于代替的,用在逻辑方面肯定用不等于。^(异或) 他是在位上面的发挥。如图4.72所示:

  

  图4.72

  << (左移) 左移就是向左移位,如果要移动2位那么前面删掉2个0最后面补2个0,(注意:前面删两个0只能是在0的前面没有1的地方才可以删)。如图4.73所示:

  

  图4.73

  >> (右移) 右移就是向右移位,如果你要向右移动3位,那么你就把最右边的3位都删掉,然后最左边开始补3个0,注意:如果是正数左边补0,负数左边补1 如图4.74所示:

  

  图4.74

  >>> (无符号右移) 就是不管是正数还是负数,他左边都补0如图4.74所示:



 

  图4.74

  位运算符自然就是操作位上面的,就是来移动我们的位用来取反等,位用的很少,除非加密才用的到位运算。

技术分享:www.kaige123.com

  • 大小: 7.9 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics