2
A
回答
6
存在一個細微的差異,使用明確的位清除運算符可以更輕鬆地處理文字和非類型常量。
無類型整數的默認類型爲int,因此像a := uint32(1) & ^1
這樣的內容是非法的,因爲^ 1首先被計算並且被評估爲^ int(1),即等於-2。 a := uint32(1) &^ 1
是合法的,但因爲這裏1基於上下文被評估爲uint32。
明確表明一點可能會有一些性能上的提升,但我對此不太確定。
相關問題
- 1. 爲什麼這個清晰可見的符號無法解析?
- 2. 爲什麼arraylist清晰以及原創?
- 3. 爲什麼Go有一個「goto」語句
- 4. 爲什麼我的listView不清晰?
- 5. 爲什麼==運算符在MSVC中含糊不清的運算符重載
- 6. 爲什麼沒有「< - 」運算符?
- 7. Ruby爲什麼沒有!==運算符?
- 8. 爲什麼這個(〜=)被認爲是一個前綴運算符?
- 9. 爲什麼在Java中有兩個右移運算符和只有一個左移運算符?
- 10. Silverlight TextBox文本清晰度與TextBlock清晰度不匹配 - 爲什麼?
- 11. 爲什麼清晰寫入數組邊界時沒有運行時錯誤?
- 12. 清除std :: vector需要賦值運算符。爲什麼?
- 13. 只有一個dropify清晰圖像
- 14. 爲什麼要用兩個'!'一個布爾值的運算符?
- 15. Go中的「| =」運算符的含義是什麼?
- 16. Python的「is」運算符的Go等價物是什麼?
- 17. 計算blurness和清晰度
- 18. 爲什麼`:=`作爲中綴運算符?
- 19. 爲什麼一元運算符具有關聯性
- 20. 爲什麼分配給Go中的變量有一個等號
- 21. 爲什麼'+'運算符的行爲與Matlab字符串一樣?
- 22. SQL中的IN運算符和=運算符有什麼區別?
- 23. 比較運算符和邏輯運算符有什麼區別?
- 24. SQL Server不等式比較運算符,爲什麼有兩個
- 25. 爲什麼PHP有兩個「不等於」運算符(=和<>!)
- 26. 爲什麼SPContext.Current.Listitem爲空? *編輯的清晰度*
- 27. 爲什麼迭代器運算符+返回一個副本?
- 28. 爲什麼一個運算符==不足以用於std :: unordered_map? - C++
- 29. 什麼時候爲一個類定義ostream運算符<<?
- 30. CUDA:爲什麼按位運算符有時比邏輯運算符更快?
至少在amd64上,它們編譯到相同的機器代碼,所以沒有性能差異。 – JimB
JimB,我假定你的意思是,如果你做一切簽署ints? –