JavaScript位运算符详解:二进制表示、符号位和常见应用
108 浏览量
更新于2024-08-30
收藏 79KB PDF 举报
javascript运算符——位运算符全面介绍
javascript中的位运算符是一种非常底层的运算符,由于其操作的结果不太直观,所以并不常用。但是,其速度极快,且合理使用能达到很好的效果。本文将介绍javascript中常常被忽视的运算符——位运算符。
一、位运算符的基本概念
在javascript中,所有数值都以IEEE-754 64位格式存储,但是位操作符并不直接操作64位的值,而是以32位带符号的整数进行运算的,并且返回值也是一个32位带符号的整数。这种位数转换使得在对特殊的NaN和Infinity值应用位操作时,这两个值都会被当成0来处理。如果对非数值应用位操作符,会先使用Number()将该值转换成数值再应用位操作,得到的结果是一个数值。
二、位运算符的种类
javascript中的位运算符有六种:按位与(&)、按位或(|)、按位异或(^)、按位左移(<<)、按位右移(>>)和无符号右移(>>>)。
其中,按位或(|)运算符可以用来取整数的整数部分。例如:
```
console.log(1.3|0);//1
console.log(1.8|0);//1
console.log(Infinity|0);//0
console.log(-Infinity|0);//0
console.log(NaN|0);//0
console.log('12px'|0);//0
console.log('12'|0);//12
```
三、有符号整数的二进制表示
在javascript中,有符号整数使用32位中的前31位表示整数数值,用第32位表示整数符号,0表示正数,1表示负数。表示符号的位叫做符号位,符号位的值决定了其他位数值的格式。其中,正数以纯二进制格式存储,31位中的每一位都表示2的幂。例如,数值18的二进制表示是00000000000000000000000000010010,或者更简洁的10010。这是5个有效位,这5位本身就决定了实际的值。
```
console.log((18).toString(2));//"10010"
console.log(0b00000000000000000000000000010010);//18
```
四、负数的二进制表示
负数同样以二进制存储,但使用的格式是二进制补码。计算一个数值的二进制补码,需要经过下列3个步骤:
1. 求这个数值绝对值
本文只是对javascript中的位运算符进行了简单的介绍,更多的内容还需要进一步学习和实践。
2022-01-19 上传
2021-10-10 上传
2023-04-08 上传
2023-05-28 上传
2023-06-06 上传
2023-06-09 上传
2023-10-13 上传
2023-03-16 上传
2023-03-25 上传
weixin_38592758
- 粉丝: 5
- 资源: 924
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作