二进制位运算

Posted 小鸣的网络日志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制位运算相关的知识,希望对你有一定的参考价值。

1. 位运算符

下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13:
(表格来自菜鸟教程)

操作符 描述 例子
如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100
| 如果相对应位都是0,则结果为0,否则为1 (A | B)得到61,即 0011 1101
^ 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
? 按位补运算符翻转操作数的每一位,即0变成1,1变成0。 (?A)得到-61,即1100 0011
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。 A << 2得到240,即 1111 0000
>> 按位右移运算符。左操作数按位右移右操作数指定的位数。 A >> 2得到15即 1111
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 A>>>2得到15即0000 1111

2. 优点

以上是关于二进制位运算的主要内容,如果未能解决你的问题,请参考以下文章

位运算

Java基础-位运算

位运算计算与位运算应用

算法笔记:位运算

数据结构与算法-位运算

位运算符