我知道這是一個非常簡單的問題,但我無法在Google上找到答案,因爲它忽略了「< <」字符。如果您對我將來如何尋找這樣的事情有任何建議,那也是值得讚賞的。我似乎記得它的某種偏移或某種東西?但我真的不知道這意味着什麼,或者它是如何工作的,不管它是-1還是別的東西,就好像它不知道爲什麼這個人不會只用-1。謝謝num >> 1在C++中的含義是什麼?
回答
它('>>
')表示在左操作數是整數類型的上下文中'右移'。對於無符號類型,uvalue >> 1
等於除以2並截斷值;它會刪除最低有效位,將每個其他位向下移動一個位置,並在最高位插入0。對於簽名類型和正值,行爲是相同的;如果該值爲負數,則該行爲至多是實現定義的。如果左邊的操作數是一個輸入流,那麼它是一個輸入操作(但不能輸入文字,如1
,但可以輸入變量,例如l
)。
類似地,'<<
'表示在左手操作數是整數類型的情況下的'左移',並且它意味着當左操作數是輸出流時的輸出操作。
當然,如果左邊的操作數是一個類,那麼該操作意味着無論類定義操作的意思。 I/O流是「類定義操作意味着什麼」的特殊情況。注意如果LH操作數是一個N位整數(如果它的類型比int
短),那麼它只能移動一個介於0和N-1之間的RH值;任何更大或更小的轉變都會產生未定義的行爲請注意,特別是N移位是未定義的行爲。
有關類和I/O流的註釋不適用於C,但操作數都是整數的情況下,C中的行爲與C++中的行爲相同。
對不起,左手是一個整數變量。 – emschorsch 2011-12-31 05:14:53
<<
和>>
是移位操作符。更多信息請參閱以下內容:
<< N
通過N. >> N
在一個數字值移位的位到左側到右側。
http://en.wikipedia.org/wiki/Bitwise_operation#Unsigned_bit_shift_operator
將幫助的示例: int m=16; //(10000) n=m>>1; //n=(01000)
導致n=8
十進制。
- 1. C#中「=>」的含義是什麼?
- 2. Bison的$ <num> $ do>是什麼?
- 3. 爲什麼-1 >> 1是-1?而1 >> 1是0!
- 4. 「=>」在JavaScript中的含義是什麼?
- 5. 「>」在CSS中的含義是什麼?
- 6. 什麼是:?>在f#中的含義?
- 7. 這是' - >'在c/objective-c中的含義是什麼?
- 8. 1>在Visual Studio輸出窗口中的含義是什麼?
- 9. 1>&2在shell中的含義是什麼?
- 10. 「1>&2」在bash中的含義是什麼?
- 11. PHP中「=>」的含義是什麼?
- 12. Ruby中'<==>'的含義是什麼?
- 13. <?> Android中的含義是什麼?
- 14. Java位操作 - (num >> = 1)做什麼?
- 15. 是什麼含義 - >和Perl中
- 16. 運算符'=>'在C#中的含義是什麼?
- 17. 「$ 1/*」在「$ 1/*」文件中的含義是什麼
- 18. 在C++ \ msdn中這是什麼「CONSTANT >> 1」
- 19. 什麼「 - >」在Java中的含義
- 20. 什麼是「偏移」 => 1(WordPress的)的含義
- 21. Puppet Exec是什麼「<| |>」的含義?
- 22. 「數字>> 1」在「二進制(數字>> 1)」中的含義
- 23. while(cin)和while(cin >> num)之間的區別是什麼
- 24. * <Class_Name> * <variable_name>中的含義是什麼?
- 25. 爲什麼(-1 >>> 32)= -1?
- 26. Objective-C編程中「id <I> i」的含義是什麼?
- 27. C#中符號「=>」的含義是什麼?
- 28. 爲什麼(0x7FFFFFFF >> 31)+ 1是零?
- 29. 「>> 1」是什麼意思?
- 30. Haskell中=>符號的含義是什麼?
*「我似乎記得它的某種移位或某種東西?」* - 你沒有嘗試尋找它?它比'>>'更友好,尤其是如果你追加'C++'。 – 2011-12-31 05:14:41
閱讀 - http://en.wikipedia.org/wiki/Bitwise_operation – adatapost 2011-12-31 05:14:44
雅我沒有意識到我記得它有點與移位有關,直到我已經寫了這個句子,這是最後的,所以我覺得承諾該職位。對不起。使用它的優點是什麼,因爲看起來很難理解它在做什麼,因爲你必須首先將它轉換爲二進制。哦,對不起,它只是除以2,但更快的同樣的事情? JK我現在注意到這個解釋它的最低投票答案。 – emschorsch 2011-12-31 05:19:03