什么和&意思是三元运算符

时间:2016-01-27 06:07:41

标签: java c++ ternary-operator

我有这段代码我要翻译成mips但我不知道这意味着什么:A = B & C[0]

当我谷歌三元运算符时,我无法找到&的任何提及,只有e1 ? e2 : e

这是什么意思?

3 个答案:

答案 0 :(得分:2)

这里没有三元运营商。该表达式等同于A = (B & C[0]),即A分配了按位AND的结果,并应用于BC[0]

答案 1 :(得分:0)

答案 2 :(得分:0)

&这里是二进制(2个输入)运算符"按位和"。 在这种情况下,你有:

A = B & C[0];

因此A将收到BC[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只有1B C[0]位的1位。

在十进制中,这是19171775 & 2665327269 = 297125

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