我的位掩碼是字節,我想保持它們完全一樣,但我認爲它們是符號擴展。我不關心這個字節是正值還是負值,只要它設置了相同的位。我只花了幾個小時來調試我的代碼,然後發現我的字節位掩碼只有在出現負面情況時纔出現問題,需要一段時間才能找到。我不能是唯一一個對此有問題的人。有沒有辦法讓一個字節像沒有簽名一樣?如何避免Java中的符號擴展位掩碼?
2
A
回答
1
你的代碼有右移嗎?你使用'>>'而不是'>>>'嗎?有你的問題。
+0
是的,我用>>,所以你說我應該用>>>?我會檢查它。 –
+0
問題解決了,謝謝! –
5
如果您不希望字節在算術(或按位)運算符中使用時進行符號擴展,則需要明確按位 - 並使用0xFF。它看起來有點醜陋,但是如果你有什麼是byte
(並且希望一個體面的JIT能夠識別這個習慣用語,並且無論如何都有效地使用代碼),這是不可避免的。
+0
我想這就是我必須做的。 –
相關問題
- 1. 使用SIMD,我如何將8位掩碼擴展爲16位掩碼?
- 2. 避免擴展,讓
- 3. psql擴展顯示 - 避免破折號
- 4. 如何避免RichTextBox向右擴展
- 5. 如何擴展ReflectionToStringBuilder以避免重複?
- 6. 符號擴展到16位
- 7. 如何避免Java中的硬編碼
- 8. 如何避免擴展NSArray和Java思維,同時製作漂亮的代碼
- 9. 避免在我的UIImageView中擴展UIImage
- 10. 掩碼文本框中的空間如何避免
- 11. 如何避免所有代碼節點擴展項目打開?
- 12. 避免在RawSQL中自動擴展列
- 13. 如何在Java-XML中禁用/避免&符號轉義?
- 14. 如何避免重複號碼
- 15. 如何避免和修復Firefox擴展中的性能問題
- 16. 如何避免使用Rust中的宏重複擴展索引?
- 17. 在ggplot2中,如何避免geom_rect擴展劇情的界限?
- 18. 如何避免Ruby擴展中的跨線程違規?
- 19. 如何避免擴展方法中的TaskCanceledException?
- 20. 如何避免在Chrome擴展中的選項卡重複
- 21. 使用右移運算符掩蔽符號擴展>>
- 22. 如何避免在Eclipse中運行Java應用程序時的glob擴展
- 23. 如何避免在Java中
- 24. 如何避免在java中
- 25. 如何使用位掩碼運算符
- 26. Java - 如何避免此重複代碼
- 27. 在Bash循環中避免通配符擴展
- 28. 如何避免在.vimrc中擴展(或保護文本)?
- 29. 位掩碼vs移位(+ java字節碼)
- 30. 如何避免在使用Java的字符串中出現「`」和「〜」符號?
您可以使用較大的整數類型。 –
你應該發佈有問題的代碼。 –