首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表达console.log(1&3)背后的数学基础是什么?

表达console.log(1&3)背后的数学基础是什么?
EN

Stack Overflow用户
提问于 2014-08-13 20:00:15
回答 2查看 90关注 0票数 1

我目前正在使用angularjs,并且有这段代码。我不明白它还能回什么?

代码语言:javascript
复制
    authorize: function(accessLevel, role) {
        if(role === undefined) {
            role = Session.role;
        }
        return accessLevel.bitMask & role.bitMask;
    },

一些测试

代码语言:javascript
复制
        console.log(1&2);     //0
        console.log(3&7);     //3
        console.log(5&11);    //1
        console.log(0.5&11);  //0

有人知道吗?

编辑:很抱歉这个问题已经被问到了。但由于我不知道关键字按位,或找不到任何匹配之前的主题关键字在我的presearch,我学徒这里的答案!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-13 20:01:53

简单地说,&是一个AND操作。return表达式检查role "jive“中的位是否与accessLevel中的位(即该角色是否被授权)。

为了增加一些细节,让我们看看这一行:

代码语言:javascript
复制
console.log(3&7);     //3

在比特土地上,我们有:

代码语言:javascript
复制
3: 00000011
7: 00000111
===========
&: 00000011 = 3

两个字节上的逐位AND操作的结果是由AND-ing根据以下规则得出的--每个位列:

代码语言:javascript
复制
0 & 0 => 0
0 & 1 => 0
1 & 0 => 0
1 & 1 => 1

如果您认为每个0都是false,而每个1都是true,那么这就很有意义了。有关此问题的更多信息,请参阅维基百科关于真值表的文章。

票数 2
EN

Stack Overflow用户

发布于 2014-08-13 20:02:51

在两个操作数的对应位数为1的每个位置返回一个。

运算符

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25295077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档