Java-位运算

原文链接:Java 位运算(移位、位与、或、异或、非)

 

1、左移(<<)

二进制数向左移动一位,低位补0

2、右移(>>)

二进制数向右移动一位,高位补0

当十进制数是负数时,二进制高位均为1,此时右移高位补1

3、无符号右移(>>>)

当十进制数是负数时,二进制高位均为1,此时无符号右移高位补0

 

4、位与(&)

00、01、10均为0

11为1

5 & 3为1

0101 ----  5

0011  ----  3

0001  ----  1

 

5、位或(|)

00为0

01、10、11均为1

5 | 3为7

0101  ----  5

0011  ----  3

0111  ----  7

 

6、位异或(^)

00、11为0

01、10为1

5 ^ 3为6

0101  ----  5

0011  ----  3

0110  ----  6

 

7、位非(~)

相当于取反

0为1

1为0

~5为-6

0000 …… 0101  ----  5

1111 …… 1010  ----  -6

 

posted @ 2017-07-19 00:31  枯木fc  阅读(177)  评论(0编辑  收藏  举报