难以理解Javascript&;操作人员

难以理解Javascript&;操作人员,javascript,Javascript,因此,在我的第一篇Javascript类简介中,我对Javascript是新手。我刚刚找到了&操作符的功能,并找到了以下定义: 运算符在两个操作数的对应位均为1的每个位位置返回1 我还能够在这个网站上找到关于先前回答过的问题的=和=的描述。在此链接上: 它解释了1&1与1x1的简单乘法相同。所以我的问题是为什么10&5==0和10&6==2 是不是10&5==50和10&6==60 我不明白的是什么 如果从基数10切换到基数2,这是按位比较数字时所必需的,则更清楚: 10和5变成1010和010

因此,在我的第一篇Javascript类简介中,我对Javascript是新手。我刚刚找到了
&
操作符的功能,并找到了以下定义:

运算符在两个操作数的对应位均为1的每个位位置返回1

我还能够在这个网站上找到关于先前回答过的问题的
=
=
的描述。在此链接上:

它解释了
1&1
1x1
的简单乘法相同。所以我的问题是为什么
10&5==0
10&6==2

是不是
10&5==50
10&6==60


我不明白的是什么

如果从基数10切换到基数2,这是按位比较数字时所必需的,则更清楚:

10和5变成1010和0101,在基数2中等于0000,在基数10中等于0

10和6变成1010和0110,在基数2中等于0010,在基数10中等于2


希望这有帮助

如果从基数10切换到基数2,这是按位比较数字时所必需的,则更清楚:

10和5变成1010和0101,在基数2中等于0000,在基数10中等于0

10和6变成1010和0110,在基数2中等于0010,在基数10中等于2


希望这有帮助

它相当于每一位的乘法

因此,您的10和5示例是:

  1010
& 0101
= 0000

它相当于每一位的乘法

因此,您的10和5示例是:

  1010
& 0101
= 0000

只有每个位置(1和0)的二进制位相乘

例如,使用
10&5

10=二进制中的1010

5=二进制中的0101

现在将每个数字与同一位置的另一个数字相乘:

(1 x 0)(0 x 1)(1 x 0)(0 x 1)

=0000

=0(十进制)


console.log(10&5)
只有每个位置(1和0)的二进制位相乘

例如,使用
10&5

10=二进制中的1010

5=二进制中的0101

现在将每个数字与同一位置的另一个数字相乘:

(1 x 0)(0 x 1)(1 x 0)(0 x 1)

=0000

=0(十进制)


console.log(10&5)
所以10应该是这样的
1010
5应该是这样的
0101

现在,如果您为这两个变量都找到了&或和,您应该得到类似于
0000
的值,该值为零

同样,对于6,它应该是
0110

对于这两个变量,应该给出&或和作为
0010
,正好是2

注意:对于和,我们有以下规则


试着浏览一下w3c的文章:

所以10应该是这样的
1010
5应该是这样的
0101

现在,如果您为这两个变量都找到了&或和,您应该得到类似于
0000
的值,该值为零

同样,对于6,它应该是
0110

对于这两个变量,应该给出&或和作为
0010
,正好是2

注意:对于和,我们有以下规则


试着浏览一下w3c文章:

你错过了整个“比特”部分。位的值只能是0或1,不能是10或5。它是
0b1010&0b0101==0b0000
。(十进制表示法中的10和5)。对于每个位索引,它们按位相乘。您遗漏了整个“位”部分。位的值只能是0或1,不能是10或5。它是
0b1010&0b0101==0b0000
。(十进制表示法中的10和5)。对于每个位索引,它们按位相乘。
0 & 0 === 0
0 & 1 === 0
1 & 1 === 1