首页 > 其他 > 详细

位运算符

时间:2020-07-09 18:31:28      阅读:49      评论:0      收藏:0      [点我收藏+]

1、&:与运算符

二进制比较,都为1则为1,否则为0

0=非=false,1=是=true

& 类比 &&,当&&的所有条件都满足是才为true,故推到出上述结果。

2、|:或运算符

二进制比较,只要有一个为1就是1,否则为0

与&类似

3、~:非运算符

二进制结果倒置,为0则1,1则0;

类比!

4、^:异或运算符

二进制比较,相同为0,不同为1

类比!=

5、<<:左移运算符

二进制,左移位数,低位补0

6、>>:右移运算符

二进制,右移位数

值为正,高位补0

值为负,高位补1

7、>>>:右移运算符

二进制,右移位数,无论正负高位都补0

 1 public static void main(String[] args) throws InterruptedException {
 2     // 11 1110 0111
 3     System.out.println(Integer.toBinaryString(999));
 4     // 1111 1111 1111 1111 1111 1100 0001 1001
 5     System.out.println(Integer.toBinaryString(-999));
 6     // 00 0001 1111
 7     System.out.println(Integer.toBinaryString(999 >>> 5));
 8     // 0000 0111 1111 1111 1111 1111 1110 0000
 9     System.out.println(Integer.toBinaryString(-999 >>> 5));
10     // 1 1111 0011 1000 0000
11     System.out.println(Integer.toBinaryString(999 << 7));
12     // 1111 1111 1111 1110 0000 1100 1000 0000
13     System.out.println(Integer.toBinaryString(-999 << 7));
14     // 0 0011 1110 0111
15     System.out.println(Integer.toBinaryString(999 >> 3));
16     // 1111 1111 1111 1111 1111 1111 1000 0011
17     System.out.println(Integer.toBinaryString(-999 >> 3));
18 }

技术分享图片

位运算符

原文:https://www.cnblogs.com/bzfsdr/p/13275018.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!