[英]What does & mean as a ternary operator
我有这段代码要翻译成mips,但我不知道这是什么意思: A = B & C[0]
当我使用google三元运算符时,找不到&
任何提示,只是e1 ? e2 : e
e1 ? e2 : e
这是什么意思?
这里没有三元运算符。 该表达式等效于A = (B & C[0])
,即将A
分配给B
和C[0]
的按位与结果。
&
此处是二进制(2个输入)运算符“按位与”。 在这种情况下,您可以:
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
具有1
位只有其中两个B
和C[0]
有1
比特。
以十进制表示的是19171775 & 2665327269 = 297125
。
顺便说一句,三元运算符有3个输入,最常见的是?:
,如R = C ? B : A
R = C ? B : A
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.