前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javascript 红皮高程(16)

javascript 红皮高程(16)

作者头像
web前端教室
发布2018-02-06 13:47:22
4320
发布2018-02-06 13:47:22
举报
文章被收录于专栏:web前端教室web前端教室

位操作符的内容有些难度,并且也不常用。

从这几天的文章阅读量可以看出来,阅读的人比较少。

但学习这事,从来都是一件艰苦的事情,从来不轻松。

也许难懂,多看几遍就懂了。来吧,和我一起看这些比较难的内容

复习下,位操作符为什么快?

因为它在最基本的层次上,即按内存中表示数值的位来操作数值。

这句话不懂?没关系,我也不懂。

这是我第三、四次读这句话。

我相信,当我读到100遍,200遍的时候,我一定就懂了。

我们继续,迎难而上。。。

按位与(AND),它由一个和号字符(&)表示。

书上第41页写的,有此难,我直白的说一下,

它用来比较,在它左右的二个十进制数的二进制格式的每一位。

例,25 & 3,这就是对25和3这二个十进制数,执行按位与操作了。

先不说结果,先来讲下过程,是怎么比较的呢?

它是把十进制数,转成二进制后才比较的。

那么,25转成二进制是多少?

25/2,余1,未整除,1

12/2,余0,整除,0

6/2,余0,整除,0

3/2,余1,未整除,1

1/2,余0.5,未整除,1

25转成二进制是11001

同理,3转成二进制是,11

那么按位与(&)比较的定义和规则是什么呢?

从本质上讲,&操作是将二个数值的每一位对齐,然后两两成对比较。

规则,只有二个数值的对应位都是1时,返回1;任何一位是0,结果都是0 。

按这个规则来比较:

代码语言:js
复制
11001
00011
------
00001

从左向右比较,只有最右边的上下两位都是1,返回1

最后的结果,1

这就是按位与(AND),用&符号表示。

我会了,你呢?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档