码迷,mamicode.com
首页 > Web开发 > 详细

js 位运算符

时间:2021-04-02 13:28:03      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:执行   --   lse   符号   logs   ons   针对   第一个   计算   

位运算就是对二进制数执行计算,是整数的逐位运算。例如,1+1=2,在十进制计算中是正确的,但是在二进制计算中,1+1=10;对于二进制数 100 取反,等于 001,而不是 -100
位运算符有 7 个,分为两类:
  • 逻辑位运算符:位与(&)、位或(|)、位异或(^)、非位(~

  • 移位运算符:左移(<<)、右移(>>)、无符号右移(>>>

逻辑位运算符与逻辑运算符的运算方式是相同的,但是针对的对象不同。逻辑位运算符针对的是二进制的整数值,而逻辑运算符针对的是非二进制的值。

& 运算符

& 运算符(位与)用于对两个二进制操作数逐位进行比较,并根据下表所示的换算表返回结果。
第一个数的位值 第二个数的位值 运算结果
1 1 1
1 0 0
0 1 0
0 0 0
在位运算中,数值 1 表示 true0 表示 false,反之亦然。
console.log(12 | 5); //返回值13
下图以算式的形式解析了 125 进行位或运算的过程。通过位或运算,除第 2 位的值为 false 外,其他位均返回 true

技术图片

^ 运算符

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

技术图片

~ 运算符

~ 运算符(位非)用于对一个二进制操作数逐位进行取反操作。
  • 1 步:把运算数转换为 32 位的二进制整数。
  • 2 步:逐位进行取反操作。
  • 3 步:把二进制反码转换为十进制浮点数。
console.log(~12); //返回值-13
下图以算式的形式解析了对 12 进行位非运算的过程。

技术图片

位非运算实际上就是对数字进行取负运算,再减 1。例如:
console.log(~12 == 12 - 1); //返回true

js 位运算符

标签:执行   --   lse   符号   logs   ons   针对   第一个   计算   

原文地址:https://www.cnblogs.com/frank-link/p/14608876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!