位运算符

Posted 喝酒骑驴撞城管

tags:

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

注:如果得出的结果为负数,需要取负数的补码。

取补码的过程为对负数除了符号位进行取反,再加1。

负数按补码形式参加按位与运算

5&-3=5
-3====10000011
-3反码11111100
-3补码11111101
5==00000101
5&-3==00000101=5

负数按补码形式参加按位或运算

5|-3=-3
-3====10000011
-3反码11111100
-3补码11111101
5==00000101
5|-3==11111101结果为负数求补码
先反码10000010
再补码10000011=-3

负数按补码形式参加异或运算:^ 相同返回0,不同返回1

15^-2=-15
-2=10000010
先反码11111101
再补码11111110
15=00001111
15^-2=11110001
先反码10001110
再补码10001111
15^-2=-15

负数按补码形式参加~运算:所有位取反

~2=-3
2=00000010
~2=11111101
先反码10000010
再补码10000011=-3

~-2=1
-2=10000010
先反码11111101
再补码11111110
~-2=00000001=1

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

位运算符

JAVA-初步认识-第三章-位运算符

java中的位运算符及其用法。

Python 基础1 - 位运算符

按位运算符位字段介绍

JS位运算异常(位运算精度丢失)的原因探究