JavaScript的7个位运算符
位运算就是对二进制数执行计算,是整数的逐位运算。
位运算符有 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个位运算符相关推荐
- JavaScript中的instanceof运算符是什么?
本文翻译自:What is the instanceof operator in JavaScript? The instanceof keyword in JavaScript can be qui ...
- JavaScript实现按位运算符乘以无符号数multiplyUnsigned算法(附完整源码)
JavaScript实现按位运算符乘以无符号数multiplyUnsigned算法(附完整源码) multiplyUnsigned.js完整源代码 multiplyUnsigned.js完整源代码 e ...
- JavaScript实现使用二元运算符将两个数字相加fullAdder算法(附完整源码)
JavaScript实现使用二元运算符将两个数字相加fullAdder算法(附完整源码) getBit.js完整源代码 fullAdder.js完整源代码 getBit.js完整源代码 export ...
- javaScript学习笔记之运算符
运算符 = 用于赋值.用于给 JavaScript 变量赋值. 运算符 + 用于加值.算术运算符 + 用于把值加起来. 下面展示了算术运算符及赋值运算符: <!DOCTYPE html> ...
- JavaScript:赋值运算符以及运算符优先级
JavaScript前文回顾: 认识JavaScript到初体验 JavaScript 注释以及输入输出语句 JavaScript变量的使用.语法扩展.命名规范 JavaScript数据类型简介以及简 ...
- 【JavaScript】JavaScript基础-变量、运算符与控制语句
一.变量 变量: 定义一个变量,系统会为之分配一块内存,程序可以用变量名来表示这块内存中的数据. 由于javascript采用的是弱类型的变量形式,因此,在声明一个变量的时候,我们不必声明它的类型,但 ...
- JavaScript基础3——关于运算符
算数运算符 算数运算符有+.-.*./.%.++.--.=.类似+=的运算符,其使用方式与编程语言(Java.C++.C#等)基本一样.给定 y=5,下面的表格解释了这些算术运算符: 运算符 描述 例 ...
- JavaScript 基础 数据类型与运算符
JavaScript JavaScript简介 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客户端执 ...
- JavaScript中的逗号运算符
JavaScript逗号运算符 阅读本文的前提,明确表达式.短语.运算符.运算数这几个概念. 所谓表达式,就是一个JavaScript的"短语",JavaScript解释器可以计 ...
- Javascript条件运算符、其他运算符第五课(小二节)
条件运算符.其他运算符 更多免费教学文章请关注这里 <!DOCTYPE html> <html lang="zh"> <head><met ...
最新文章
- ubuntu系统怎么安装ssh服务器配置,如何在Ubuntu 20.04 LTS上安装SSH服务器
- 服务器功率一般多少_单机柜供电能力提升后,选择1U服务器还是2U服务器?
- 总线协议之I2C总线时序
- 阿里1682亿背后的协同研发云——云效公共云正式商业化
- kafka_rebalance过长问题排查
- 你也在你的应用上添加B站上的弹幕效果
- (转)淘淘商城系列——使用maven构建工程时出现的错误
- elasticsearch 清理数据后硬盘不释放_电脑C盘正确的5种清理方法,你还不知道?学会后轻松释放20G空间...
- Tensorflow:批归一化和l1l2正则化
- admin ajax,如何在FastAdmin中使用Ajax发送请求?
- JSP的九大内置对象
- Java基础知识面试复习大纲
- 利用标准差剔除异常数据
- python判断用户名密码是否正确_Python 判断输入的用户名和密码是否正确
- [附源码]Java计算机毕业设计SSM大学生学科竞赛管理系统
- 微信公众号抓取研究----使用xposed程序hook
- 零基础入门microbit教程
- 江苏无锡14岁女孩被推荐上北大(图)
- 陆奇万字长文,讲透企业数字化转型!
- 任丘虚拟服务器,河北任丘联通dns服务器地址