回答
在您提供的link,存在使用複合賦值運算符的代碼片段:
a+=2; // equivalent to a=a+2
的>>=
運營商也採用類似的方式:
a>>=2; // equivalent to a=a>>2
>>
被稱爲(右)Shift運算符,並且將源操作數的二進制表示向右移動一定的位數。例如,讓我們有這樣的代碼片段:
int a=12;
cout<<a<<endl;
a>>=2;
cout<<a<<endl;
代碼段的輸出,當使用C執行++編譯器將是:
12
3
到底發生是這樣的:a
具有價值爲12(以二進制表示)(僅顯示最後6位)001100. a>>=2;
將a
中的位向右移2位,並將新值分配給a
,因此新位位置變爲000011,即3在十進制中,因此a
獲得3的值,並且res ulting輸出。
希望這可以澄清混淆。
將答案都是一樣的'A = 13,>> = 2'和'A = 12,>> = 2' ?? –
是的,最後兩位獲得移出一些,因此你得到相同的答案(即3),你能想到的權通過移動'ñ '倍由2^N做源操作數的整數除法,因此,13/4 = 12/4 = 3。 –
>>
是右移操作符。
正如您所提到>>=
是一個複合賦值運算符。複合賦值使用運算符修改變量,並將新值賦給自己。
a >>= b
相當於a = a >> b
即,a右移b次並分配回a。
例如,
int a = 8, b = 2;
a >>= b; // right shift by 2 i.e. divide by 2 x b times.
cout << a; // prints value of 2
- 1. 數據( - >)a b是什麼意思?
- 2. `a> b`是什麼意思?
- 3. memset(foo-> a + foo-> b,0,10)是什麼意思?
- 4. b = a-> b是什麼意思在一類列表中?
- 5. 這是什麼意思?公式一=> A - > [A] - >布爾
- 6. >> =是什麼意思?
- 7. 爲什麼fold會預期(a - > b - > a)而不是(b - > a - > a)?
- 8. <a href="#">Click here</a>是什麼意思?
- 9. 什麼是ocaml類型'a。 'a - >'是什麼意思?
- 10. {< >}是什麼意思?
- 11. 「outer =>」是什麼意思?
- 12. `^^^`和`〜>`是什麼意思?
- 13. >> = purescript中的意思是什麼?
- 14. 「 - >」是什麼意思?
- 15. `size * = b - a`是什麼意思?
- 16. 操作c = a +++ b是什麼意思?
- 17. `a + = b + = c`是什麼意思?
- 18. 「特質A <:B」是什麼意思?
- 19. format(a,str(b))是什麼意思?
- 20. Groovy,什麼意思 - >意思是
- 21. 什麼`... |類型聲明中的b - > c是什麼意思?
- 22. 「 - >」是什麼意思?
- 23. <>是什麼意思?
- 24. <>是什麼意思?
- 25. 「=>」是什麼意思?
- 26. '=>'是什麼意思?
- 27. `()=> Unit`是什麼意思?
- 28. > var是什麼意思?
- 29. 「=>」是什麼意思?
- 30. <+>是什麼意思?
移向左b乘以。等於整數除以2 ** b。 –
它的'a = a >> b'即移位'a'右'b'次 –
不能得到它。請用示例 –