私のビットマスクはバイトであり、正確にそのまま保ちたいと思っていますが、記号が拡張されていると思います。同じビットが設定されている限り、バイトが正または負であると見なされるかどうかは気にしません。私はちょうどコードをデバッグするのに数時間を費やしていました。そして、マイナスビットになったときに私のバイトビットマスクに問題があることがわかりました。私はこれに問題があった唯一の人になることはできません。符号なしであるかのようにバイト動作をさせる方法はありますか?Javaで符号拡張ビットマスクを回避する方法は?
答えて
コードに右シフトがありますか? 「>>>」の代わりに「>>」を使用しますか?あなたの問題があります。
ええ、私は>>を使うので、>>>を使うべきですか?私はそれをチェックします。 –
問題は解決しました、ありがとう! –
演算子(またはビット単位)演算子で使用するときに符号を拡張しないようにするには、明示的にビット単位で指定する必要があり、0xFFで指定する必要があります。若干醜いように見えますが、あなたが持っているものがやむを得ないのであれば、byte
です(そしてうまくいけば、JITはイディオムを認識し、効率的なコードを作ることができればうれしいです)。
私はそれが私がしなければならないことだと思います。 –
- 1. MMX符号拡張
- 2. XML:XS用の回避/デフォルト値:拡張
- 3. Java:回避する方法StackOverflowException
- 4. 複数のao.lockの回避方法を回避するには?
- 5. プレイフレームワークモデルでJava拡張をインポートする方法は?
- 6. Java URL/HttpURLConnection投稿中にInputStreamを回避する方法は?
- 7. VB.netで拡張メソッドを使用したクロススレッド例外を回避する
- 8. リダイレクトを回避する方法は?
- 9. NullPointerExceptionを回避する方法は?
- 10. AndroidでProgressDialogを回避する方法
- 11. jsfでBusyConversationExceptionを回避する方法
- 12. シンクでSystem.OutOfMemoryExceptionを回避する方法
- 13. Javaで最終クラスを拡張する方法
- 14. Firefoxの拡張機能でJavaプラグインを要求する方法
- 15. JNLuaでJavaオブジェクトを拡張する方法
- 16. 回避策Google Chrome拡張800px iframeの制限
- 17. 符号なしの符号付き変換をJavaで逆
- 18. j2me符号をバイパスする方法
- 19. ADO.NETエンティティデザイナを拡張する方法は?
- 20. Rails:ジェネレータを拡張する方法は?
- 21. セッションタイムアウトランタイムを拡張する方法は?
- 22. MIPS分岐命令のオフセットは符号拡張されていますか?
- 23. Real Javaが優先度逆転を回避する方法
- 24. Java Enumを拡張する
- 25. 利用可能なJavaロケールのリストを拡張する方法
- 26. 言語演算子とジェネリッククラスの拡張でJavaでジェネリックスを使用する方法番号
- 27. MQRC2033を回避する方法NO_MSG_AVAILABLE
- 28. NullReferenceExceptionを回避する方法
- 29. java.lang.OutOfMemoryErrorを回避する方法:PermGenスペース?
- 30. ドロップダウンのページポストバックを回避する方法
より大きな整数型を使用できます。 –
おそらく問題のコードを投稿するべきです。 –