位运算

Posted vector11248

tags:

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

位运算总共分 5 种,与、或、异或、左移、右移

 

左移运算符 m << n,将m 左移n位。左移n位的时候,最左边的位将被丢弃,同时在最右边补上n个0.

比如:

00001010 << 2 = 00101000

10001010 << 3 = 01010000

右移运算符 m >> n,将m 右移n位。右移n位时,最右边的位直接丢弃。

但右移时,处理最左边的情形要稍微复杂一点。

如果是无符号数值,最左边补0即可。

如果是有符号数值,

(1)是正数,则左边补n个0

 (2) 是负数,则左边补n个1

对2个8位有符号数右移例子:

00001010 >> 2 = 00000010

10001010 >> 3 = 11110001

 

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

位运算和enum中的位运算

Java位运算:位异或运算位与运算位或运算位取反运算左位移运算右位移运算无符号右移运算不用额外变量交换两个整数的值(使用位异或运算)只出现一次的数字

Java位运算:位异或运算位与运算位或运算位取反运算左位移运算右位移运算无符号右移运算不用额外变量交换两个整数的值(使用位异或运算)只出现一次的数字

位运算

位运算计算与位运算应用

Python 基础1 - 位运算符