首页 技术资料正文

JS&、-、^和~(逻辑位运算符)(不等于)

piaodoo 技术资料 2022-08-27 02:02:09 1000 0

JS &、|、^和~(逻辑位运算符)(不等于)

JS &、|、^和~(逻辑位运算符)

位运算就是对二进制数执行计算,是整数的逐位运算。例如,1+1=2,在十进制计算中是正确的,但是在二进制计算中,1+1=10;对于二进制数 100 取反,等于 001,而不是 -100。位运算符有 7 个,分为两类:

  • 逻辑位运算符:位与(&)、位或(|)、位异或(^)、非位(~)
  • 移位运算符:左移(<<)、右移(>>)、无符号右移(>>>)
逻辑位运算符与逻辑运算符的运算方式是相同的,但是针对的对象不同。逻辑位运算符针对的是二进制的整数值,而逻辑运算符针对的是非二进制的值。

“&”运算符

“&”运算符(位与)用于对两个二进制操作数逐位进行比较,并根据下表所示的换算表返回结果。
“&”运算符
第一个数的位值第二个数的位值运算结果
111
100
010
000
12 和 5 进行位与运算,则返回值为 4。
console.log(12 & 5);  //返回值4
下图以算式的形式解析了 12 和 5 进行位与运算的过程。通过位与运算,只有第 3 位的值为全为 true,故返回 true,其他位均返回 false。

“|”运算符

“|”运算符(位或)用于对两个二进制操作数逐位进行比较,并根据如表格所示的换算表返回结果。
“|”运算符
第一个数的位值第二个数的位值运算结果
111
101
011
000
12 和 5 进行位或运算,则返回值为 13。
console.log(12 | 5);  //返回值13
下图以算式的形式解析了 12 和 5 进行位或运算的过程。通过位或运算,除第 2 位的值为 false 外,其他位均返回 true。

“^”运算符

“^”运算符(位异或)用于对两个二进制操作数逐位进行比较,并根据如表格所示的换算表返回结果。
“^”运算符
第一个数的位值第二个数的位值运算结果
110
101
011
000
12 和 5 进行位异或运算,则返回值为 9。
console.log(12 ^ 5);  //返回值9
下图以算式的形式解析了 12 和 5 进行位异或运算的过程。通过位异或运算,第 1、4 位的值为 true,而第 2、3 位的值为 false。

“~”运算符

“~”运算符(位非)用于对一个二进制操作数逐位进行取反操作。
  • 第 1 步:把运算数转换为 32 位的二进制整数。
  • 第 2 步:逐位进行取反操作。
  • 第 3 步:把二进制反码转换为十进制浮点数。
对 12 进行位非运算,则返回值为 -13。
console.log( ~ 12 );  //返回值-13
下图以算式的形式解析了对 12 进行位非运算的过程。位非运算实际上就是对数字进行取负运算,再减 1。例如:
console.log( ~ 12 == 12-1);  //返回true

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/119435.html

搜索