位运算就是对二进制数执行计算,是整数的逐位运算。

位运算符有 7 个,分为两类:
移位运算符:左移(<<)、右移(>>)、无符号右移(>>>)
逻辑位运算符:位与(&)、位或(|)、位异或(^)、非位(~)

一、移位运算符

“<<”运算符

“<<”运算符执行左移位运算。在移位运算过程中,符号位始终保持不变。如果右侧空出位置,则自动填充为 0;超出 32 位的值,则自动丢弃。

“>>”运算符

“>>”运算符执行有符号右移位运算。与左移运算操作相反,它把 32 位数字中的所有有效位整体右移,再使用符号位的值填充空位。移动过程中超出的值将被丢弃。

“>>>”运算符

“>>>”运算符执行无符号右移位运算。它把32位整数所有数位整体右移。

对于无符号数或正数右移运算,无符号右移与有符号右移运算的结果是相同的。
对于负数来说,无符号右移将使用 0 来填充所有的空位。

二、逻辑运算符

“&”运算符

“&”运算符(位与)用于对两个二进制操作数逐位进行比较,并根据下表所示的换算表返回结果。

第一个数的位值 第二个数的位值 运算结果
1 1 1
1 0 0
0 1 0
0 0 0

第一位为1的,运算后保持不变,0的变为0

“|”运算符

“|”运算符(位或)用于对两个二进制操作数逐位进行比较,并根据如表格所示的换算表返回结果。

第一个数的位值 第二个数的位值 运算结果
1 1 1
1 0 1
0 1 1
0 0 0

第一位为0的,运算后保持不变,1的变为1

“^”运算符

“^”运算符(位异或)用于对两个二进制操作数逐位进行比较,并根据如表格所示的换算表返回结果。

第一个数的位值 第二个数的位值 运算结果
1 1 0
1 0 1
0 1 1
0 0 0

“~”运算符

“~”运算符(位非)用于对一个二进制操作数逐位进行取反操作。
第 1 步:把运算数转换为 32 位的二进制整数。
第 2 步:逐位进行取反操作。
第 3 步:把二进制反码转换为十进制浮点数。

JavaScript的7个位运算符相关推荐

  1. JavaScript中的instanceof运算符是什么?

    本文翻译自:What is the instanceof operator in JavaScript? The instanceof keyword in JavaScript can be qui ...

  2. JavaScript实现按位运算符乘以无符号数multiplyUnsigned算法(附完整源码)

    JavaScript实现按位运算符乘以无符号数multiplyUnsigned算法(附完整源码) multiplyUnsigned.js完整源代码 multiplyUnsigned.js完整源代码 e ...

  3. JavaScript实现使用二元运算符将两个数字相加fullAdder算法(附完整源码)

    JavaScript实现使用二元运算符将两个数字相加fullAdder算法(附完整源码) getBit.js完整源代码 fullAdder.js完整源代码 getBit.js完整源代码 export ...

  4. javaScript学习笔记之运算符

    运算符 = 用于赋值.用于给 JavaScript 变量赋值. 运算符 + 用于加值.算术运算符 + 用于把值加起来. 下面展示了算术运算符及赋值运算符: <!DOCTYPE html> ...

  5. JavaScript:赋值运算符以及运算符优先级

    JavaScript前文回顾: 认识JavaScript到初体验 JavaScript 注释以及输入输出语句 JavaScript变量的使用.语法扩展.命名规范 JavaScript数据类型简介以及简 ...

  6. 【JavaScript】JavaScript基础-变量、运算符与控制语句

    一.变量 变量: 定义一个变量,系统会为之分配一块内存,程序可以用变量名来表示这块内存中的数据. 由于javascript采用的是弱类型的变量形式,因此,在声明一个变量的时候,我们不必声明它的类型,但 ...

  7. JavaScript基础3——关于运算符

    算数运算符 算数运算符有+.-.*./.%.++.--.=.类似+=的运算符,其使用方式与编程语言(Java.C++.C#等)基本一样.给定 y=5,下面的表格解释了这些算术运算符: 运算符 描述 例 ...

  8. JavaScript 基础 数据类型与运算符

    JavaScript JavaScript简介 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客户端执 ...

  9. JavaScript中的逗号运算符

    JavaScript逗号运算符  阅读本文的前提,明确表达式.短语.运算符.运算数这几个概念. 所谓表达式,就是一个JavaScript的"短语",JavaScript解释器可以计 ...

  10. Javascript条件运算符、其他运算符第五课(小二节)

    条件运算符.其他运算符 更多免费教学文章请关注这里 <!DOCTYPE html> <html lang="zh"> <head><met ...

最新文章

  1. ubuntu系统怎么安装ssh服务器配置,如何在Ubuntu 20.04 LTS上安装SSH服务器
  2. 服务器功率一般多少_单机柜供电能力提升后,选择1U服务器还是2U服务器?
  3. 总线协议之I2C总线时序
  4. 阿里1682亿背后的协同研发云——云效公共云正式商业化
  5. kafka_rebalance过长问题排查
  6. 你也在你的应用上添加B站上的弹幕效果
  7. (转)淘淘商城系列——使用maven构建工程时出现的错误
  8. elasticsearch 清理数据后硬盘不释放_电脑C盘正确的5种清理方法,你还不知道?学会后轻松释放20G空间...
  9. Tensorflow:批归一化和l1l2正则化
  10. admin ajax,如何在FastAdmin中使用Ajax发送请求?
  11. JSP的九大内置对象
  12. Java基础知识面试复习大纲
  13. 利用标准差剔除异常数据
  14. python判断用户名密码是否正确_Python 判断输入的用户名和密码是否正确
  15. [附源码]Java计算机毕业设计SSM大学生学科竞赛管理系统
  16. 微信公众号抓取研究----使用xposed程序hook
  17. 零基础入门microbit教程
  18. 江苏无锡14岁女孩被推荐上北大(图)
  19. 陆奇万字长文,讲透企业数字化转型!
  20. 任丘虚拟服务器,河北任丘联通dns服务器地址

热门文章

  1. 免费赠送2本新书《iOS程序员面试笔试真题与解析》
  2. Docker 持续推动创新,三款应用为您指引未来趋势
  3. mahout AbstractJDBCModel log
  4. react-router使用总结
  5. freemark 应用以及优势
  6. jAVA Annotation 小例
  7. 6.这就是搜索引擎:核心技术详解 --- 链接分析
  8. 10.生命周期和Zend引擎
  9. 循序渐进之Spring AOP(6) - 使用@Aspect注解
  10. SQL 错误: ORA-12910