Java 什么是&;作为三元算子的均值

Java 什么是&;作为三元算子的均值,java,c++,ternary-operator,Java,C++,Ternary Operator,我有一段代码要翻译成mips,但我不知道它是什么意思:A=B&C[0] 当我搜索三元运算符时,我找不到任何关于&的内容,只是e1?e2:e 这是什么意思 bitwise AND 看看这个: 看看这里的例子 这里没有三元运算符。表达式相当于A=(B&C[0]),也就是说A分配了按位计算的结果,并应用于B和C[0]这是二进制(2个输入)运算符“按位AND”。 在这种情况下,您有: A = B & C[0]; 因此A将逐位接收B和C[0]的结果。 假设A、B和C[0]是两个32位整数,它

我有一段代码要翻译成mips,但我不知道它是什么意思:
A=B&C[0]

当我搜索三元运算符时,我找不到任何关于
&
的内容,只是
e1?e2:e

这是什么意思

 bitwise AND
看看这个:

看看这里的例子
这里没有三元运算符。表达式相当于
A=(B&C[0])
,也就是说
A
分配了按位计算的结果,并应用于
B
C[0]
这是二进制(2个输入)运算符“按位AND”。 在这种情况下,您有:

A = B & C[0];
因此
A
将逐位接收
B
C[0]
的结果。 假设A、B和C[0]是两个32位整数,它们的值是我随机分配给它们的,让我们以二进制形式查看此操作:

B    = 0000 0001 0010 0100 1000 1001 1011 1111
C[0] = 1001 1110 1101 1101 1010 1010 1010 0101
A    = 0000 0000 0000 0100 1000 1000 1010 0101 (the and of the two values above)
也就是说,
A
只有在
B
C[0]
都有
1
位的情况下才有
1

以十进制表示,这是
19171775&2665327269=297125


顺便说一句,三元运算符有3个输入,最常见的是
?:
,如
R=C?B:A

为什么你认为这是一个三元运算符?如果你认为是,你是否也认为
A=B+C[0]
是一个三元运算符?我想你的老师用了一本打字错误的书-这里已经回答了类似的问题
&
在你的例子中不是一个三元运算符,而是一个二元运算符。在汇编语言中,
是三元运算符(例如,有两个输入寄存器和一个输出寄存器)高级编程语言不这样工作:结果是临时的,需要决定如何处理它。它是按位和C++的。在爪哇中,它取决于操作数的类型;它可以是位和非短路逻辑和…或逻辑,如果变量是“代码>布尔< /COD>类型。