位操作运算符梳理

Posted

tags:

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

(晚上实在是闲的胃疼。。翻了翻代码发现位运算还写的不太好,在这里梳理一下位运算符)

运算符 含义 说明 例子
& 按位与

把参与运算的两个数对应的二进制位相与,只有对应的二进制均为1时,结果的对应位才为1,否则为0.

9&5中9可以写成00001001,5可以写成00000101,9&5的运算结果是00000001.转化为十进制输出结果是1.

| 按位或 把参与运算的两个数对应的二进制位相或,也就是只要对应的两个二进制位有一个为1时,其结果就为1.

9|5相当于00001001|00000101,运算结果是00001101.转化为十进制输出结果是13.

^ 按位异或

把参与运算的两个数对应的二进制位相异或,当对应的二进制位上的数字不相同时结果为1,否则为0.

9^5相当于00001001^00000101,运算结果是00001100.转化为十进制输出结果是12.
~ 取反 把运算数的各个二进制位按位求反,各位原来是0的改为1,原来是1的改为0. ~9相当于~(00001001),运算结果是11110110.转化为十进制输出结果是246.
<< 左移 把<<左边的运算数的各二进制位向左移若干位,<<右边的数是指定移动的位数,高位丢弃,低位补0. 3<<4相当于把3=00000011左移4位,运算结果是001100 00.转化为十进制输出结果是48.
>> 右移 把>>左边的运算数的各二进制位向右移若干位,>>右边的数是指定移动的位数,高位丢弃,低位补0. 15>>2相当于把15=00001111右移2位,运算结果是0000 0011,转化为十进制输出结果是3.

 

发现表格不怎么会用。。以后再练练吧

明天滚去上学。。估计要被三主课老师叫出去殴一顿QAQ

大家晚安。。

以上是关于位操作运算符梳理的主要内容,如果未能解决你的问题,请参考以下文章

位运算应用:保存多状态标识应用

位运算应用:保存多状态标识应用

位运算应用:保存多状态标识应用

计算机的算数运算 知识梳理

位运算相关

JAVA有关位运算的全套梳理