[英]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.