Javascript--位运算符

本文详细介绍了JavaScript中的位运算符,包括NOT、AND、OR、XOR、左移(<<)、有符号右移(>>)及无符号右移(>>>)等操作符的功能与使用方法,并通过实例演示了它们如何作用于二进制数字。

1.NOT

位运算符NOT由~表示.NOT运算符的实质是对数字求负,然后减1.

位运算符NOT是三步的处理过程.

a.把运算符转换成32位数字

b.把二进制形式转换成它的二进制反码

c.把二进制反码转换成浮点数

例子:

        var num=10;
        document.write(~num);
结果:
-11
2.AND
位运算符AND由&表示.直接对数字的二进制形式进行运算.运算规则如下:
第一个数字第二个数字结果
000
010
100
111

例子:

        var num1=10;//1010
        var num2=11;//1011
        document.write(num1 & num2);

结果:

image 10的二进制表示1010

3.OR

位运算符OR由符号|表示.直接对二进制进行运算,规则如下:

第一个数字第二个数字结果
000
011
101
111

例子:

        var num1=10;//1010
        var num2=11;//1011
        document.write(num1 | num2);

结果:

image 11的二进制表示是1011

4.XOR

位运算符XOR由符号^表示.直接对二进制进行运算.规则如下:

第一个数字第二个数字结果
000
011
101
110

例子:

        var num1=10;//1010
        var num2=11;//1011
        document.write(num1 ^ num2);

结果:

image 1的二进制表示是1

5.<<

左移运算符由<<表示.它把数字中所有位数向左移动指定的数量.

注意:

a.在左移数位时,数字右边的空位由0来填充,使结果是完整的32位数字

b.左移操作保留数字的符号位.

例子:

        document.write(10<<2+"<br/>");
        document.write(-10<<2);

效果:

image

6.>>

有符号右移运算由>>表示.它将32位数字中的所有数字整体右移.同时保留该数的符号.

注意:

a.符号位保持不变

b.在右移数位时,数字左边的空位由0填充

例子:

        document.write(10>>1);
        document.write("<br/>");
        document.write(-10>>1);

效果:

image 

7.>>>

无符号右移由>>>表示.它将32位数字中的所有数字整体右移.

注意:

a.无符号右移运算用0填充所有空位.

b.对于整数,无符号右移和有符号右移结果一样.

c.对于负数,由于左侧补0,导致负数经过无符号右移后,变为一个正数

例如:

       document.write(-10>>>1);

结果:

image

运算过程:

-10

11111111111111111111111111110110

经过无符号右移-10>>>1

01111111111111111111111111111011

结果:

2147483643


文章出处:http://www.cnblogs.com/oneword/archive/2009/12/23/1631039.html

已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 常见问题解答 网页打开速度慢或者打不开网页? 受到多种因素的影响,对于非会员用户我们无法提供最优质的服务。 如果您希望得到最棒的体验,请至大会员页面("右上角菜单 → 大会员")根据说明操作。 请注意:受制于国际网络的诸多不确定性,我们无法对任何服务的可靠性做出任何保证。 如果出现了网络连接相关的问题,我们建议您先等待一段时间,之后再重试。 如果您在重试后发现问题仍然存在,请联系我们,并说明网络问题持续的时间。 图片下载后无法找到? 打开"右上角菜单 → 更多 → 修改下载路径",在弹出的对话框中可以看到当前图片的保存路径。 此外,由于网络因素,在保存图片之后,等待屏幕下方出现"已保存到..."后,才能在本地找到图片。 如何更改图片保存的目录? 请参见"右上角菜单 → 更多 → 修改下载路径"。 翻页不方便? 在点进某个图片后,通过在图片上向左或向右滑动,即可翻页查看下一个作品。 如何保存原图/导出动图? 长按图片/动图,在弹出的菜单中选择保存/导出即可。 输入账号密码后出现"进行人机身份验证"? 此为pixiv登陆时的验证码,请按照要求点击方框或图片。 在pxvr中注册pixiv账号后,收到验证邮件,无法访问邮件中的验证链接? 请复制邮件中的链接,打开pxvr中的"右上角菜单 → 输入地址"进行访问。 能否自动将页面内容翻译为汉语? 很抱歉,pxvr暂不提供语言翻译服务。 图片下载类型是否可以选择? 能否批量下载/批量管理下载? 已支持批量下载多图作品中的所有原图:找到一个多图作品,进入详情页面后,点击图片进入多图浏览模式,长按任意一张图片即可看到批量下载选项。 关于上述其他功能,我们...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值