数字和数字如何在if语句中起作用?

时间:2015-09-07 11:11:09

标签: javascript

(number & number)是什么意思?我正在尝试阅读用JavaScript编写的某些人的代码,然后使用

if(misc & 0x800) {//...} //0x800 is 2048 when converted to decimal

var misc = 16400; //or some other number which continuously changes

所以这句话就像if(16400 & 2048)一样 当我console.log()编辑这两个数字时,我得到了0

if语句如何在数字和数字的情况下工作?

3 个答案:

答案 0 :(得分:3)

一个&表示这是bitwise AND

数字是

16400 (10) === 100000000010000 (2)

0x800 (16) === 100000000000 (2)

基于按位运算规则 结果将是:

100000000010000 
   100000000000
_______________
000000000000000

此类操作通常用于位掩码(wiki link

答案 1 :(得分:1)

这是逻辑and运营商。 它首先将数据转换为位和操作。

离。

2 & 3
--> 010 & 011
--> 010
--> 2

答案 2 :(得分:1)

它是JavaScript的BitWise运算符(在此处查看更多信息 - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators

按位'&'基本上"在每个位位置返回一个,两个操作数的相应位都是1。"请在上面的链接中详细阅读。