Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按位操作是如何工作的?_Javascript_Python_Bitwise Operators - Fatal编程技术网

Javascript 按位操作是如何工作的?

Javascript 按位操作是如何工作的?,javascript,python,bitwise-operators,Javascript,Python,Bitwise Operators,我遇到过一些奇怪的操作符,比如&,|,^等等。这些操作符到底是如何工作的 >>> 10 | 7 15 >>> 10 ^ 7 13 >>> 10 & 7 2 >>> 这种模式看起来确实很奇怪,而且大多数来源都没有给出容易理解的答案 第1行中的每个项目都乘以第2行中的相应值: a = 5 # In binary: 0101 b = 3 # In binary: 0011 c = a & b #

我遇到过一些奇怪的操作符,比如
&
|
^
等等。这些操作符到底是如何工作的

>>> 10 | 7
15
>>> 10 ^ 7
13
>>> 10 & 7
2
>>> 
这种模式看起来确实很奇怪,而且大多数来源都没有给出容易理解的答案

1
行中的每个项目都乘以第
2
行中的相应值:

a = 5     # In binary: 0101
b = 3     # In binary: 0011
c = a & b # In binary: 0001

print c   # In decimal: 1
如果任一行中的任何项为
1
,则相应的结果为
1

a = 5     # In binary: 0101
b = 3     # In binary: 0011
c = a | b # In binary: 0111

print c   # In decimal: 7
a = 5     # In binary: 0101
b = 3     # In binary: 0011
c = a ^ b # In binary: 0110

print c   # In decimal: 6
如果每列中的项目彼此不同,则结果为
1

a = 5     # In binary: 0101
b = 3     # In binary: 0011
c = a | b # In binary: 0111

print c   # In decimal: 7
a = 5     # In binary: 0101
b = 3     # In binary: 0011
c = a ^ b # In binary: 0110

print c   # In decimal: 6

这可能对你有帮助

您还可以使用ChromeJavaScript控制台测试所有这些操作符

在javascript中,请尝试这样做

var a=5;
var b=6;
控制台日志((a&b))//和
控制台日志((a | b))//或
console.log((a^b))//异或
console.log((~a))//不
console.log((a>b))//符号传播右移

console.log((a>>>b))//零填充右移
它们对位0和1进行操作。如果你看的是数字的十进制表示,那就没什么意义了。@TigerhawkT3是的,我知道,这就是为什么我回答得更深。然而,我和其他许多人一样,在我第一次开始编写代码的时候就被这些问题弄糊涂了,我希望这可以作为参考。我投票决定以离题的方式结束这个问题,因为这不是一个博客。@TigerhawkT3:自我回答的问题完全可以。然而,我发现很难相信这本书的某个地方没有重复的地方。@user1823:要么用JavaScript标记它,要么用Python标记它。两者都不适用。
print someVariable
不是有效的JS。@Cerbrus这看起来像Python,而且XOR当前使用了错误的operator@user1823还可以解释为什么会发生这种情况
0x8000000 | 64;//-2147483584