JavaScript按位运算符用法指南

以下是JavaScript按位运算符的示例。
例子:

< script> var a = 4; var b = 1; document.write( "A & B = " + (a & b) + '< br> ' ); document.write( "A | B = " + (a | b) + '< br> ' ); document.write( "~A = " + (~a) + '< br> ' ); < /script>

输出如下:
A & B = 0A | B = 5~A = -5

像C, C ++, Java, Python和其他各种语言一样, JavaScript也支持按位操作。在JavaScript中, 数字存储为64位浮点数, 但对32位二进制数执行按位运算, 即执行位运算JavaScript将数字转换为32位二进制数(签名)并执行操作, 然后将结果转换回64位数字。
以下是JavaScript中使用的一些按位逻辑运算符。
【JavaScript按位运算符用法指南】按位AND(&):
它是一个二进制运算符, 即接受两个操作数。如果两个位都设置为1(即1), 则按位与(&)返回1, 其他情况下则为0。
一种 输出(A&B)
0 0 0
0 1 0
1 0 0
1 1 1
位明智或(|):
它是一个二进制运算符, 即接受两个操作数。如果设置了任何操作数(即1), 则按位OR(|)返回1;在其他情况下, 则返回0。
一种 输出(A | B)
0 0 0
0 1 1
1 0 1
1 1 1
比特异或(^):
它是一个二进制运算符, 即接受两个操作数。如果两个操作数都不相同, 则按位XOR(^)将返回1, 而在其他情况下则返回0。
一种 输出(A ^ B)
0 0 0
0 1 1
1 0 1
1 1 0
位明智NOT(?):
它是一元运算符, 即接受单个操作数。按位NOT(?)翻转位, 即0变为1并且1变为0。
一种 输出(?A)
0 1
1 0
以下是JavaScript中使用的一些按位移位运算符。
左移(< < ):
它是一个二进制运算符, 即它接受两个操作数。第一个运算符指定数字, 第二个运算符指定要移位的位数。每个位向左移动, 从右侧添加0位。左侧的多余位将被丢弃。
一种 6(00000000000000000000000000000110)
1(00000000000000000000000000000001)
输出(A < < B) 12(00000000000000000000000000001100)
传播右移符号(> > ):
它是一个二进制运算符, 即它接受两个操作数。第一个操作数指定数字, 第二个操作数指定要移位的位数。每个位向右移动, 溢出位被丢弃。这是符号传播, 因为从左边开始添加的位取决于数字的符号(即, 如果为正则为0, 如果为负则为1)
一种 6(00000000000000000000000000000110)
1(00000000000000000000000000000001)
输出(A > > B) 3(00000000000000000000000000000011)
零填充右移(> > > ):
它是一个二进制运算符, 即它接受两个操作数。第一个操作数指定数字, 第二个操作数指定要移位的位数。每个位向右移动, 溢出位被丢弃。从左侧添加0位, 因此其零填充向右移位。
一种 6(00000000000000000000000000000110)
1(00000000000000000000000000000001)
输出(A > > > B) 3(00000000000000000000000000000011)
以下是上述运算符的实现。
< script> var a = 6; var b = 1; // AND Operation document.write( "A & B = " + (a & b) + '< br> ' ); // OR operation document.write( "A | B = " + (a | b) + '< br> ' ); // NOT operation document.write( "~A = " + (~a) + '< br> ' ); // Sign Propagating Right Shift document.write( "A > > B = " + (a > > b) + '< br> ' ); // Zero Fill Right Shift document.write( "A > > > B = " + (a > > > b) + '< br> ' ); // Left Shift document.write( "A < < B = " + (a < < b) + '< br> ' ); < /script>

输出如下:
A & B = 0A | B = 7~A = -7A > > B = 3A > > > B = 3A < < B = 12

支持的浏览器:
  • 谷歌浏览器
  • IE浏览器
  • 火狐浏览器
  • 苹果Safari
  • 歌剧

    推荐阅读