-1
A
答えて
4
data[0]
は、シフト演算子が適用される前にint
に昇格されます。
したがって、例えば、data[0]
はあなたがバイナリ表現であるint型-128、上のシフトを適用している、
-128の場合:
11111111 11111111 11111111 10000000
これは
00000011 11111111 11111111 11111110
になり
byte
にキャストした後、負の数値になります。
11111110 (-2)
あなたはint型のプロモーションの結果として追加された1ビットを無視したい場合は、あなたが書くことができます。
byte sar = (byte) ((data[0]&0xff)>>>6);
(data[0]
が-128のとき)これは2になります。
+0
このシフト動作を通常の符号なしのようにすることができる唯一の方法ありがとう[byte sar =(byte)(data [0] >>> 6 && 0x3)であるバイト範囲内のシフト] –
関連する問題
- 1. PHPの符号なし右シフト - 誤動作
- 2. Pythonの符号なし右シフト
- 3. Golang符号付き数字の左/右シフト動作
- 4. Swiftの符号なし右シフト演算子 '>>>'
- 5. 符号なし
- 6. 符号なしAPKがデバイス
- 7. C:qsortが符号なしlongで動作しないようです
- 8. 符号なし連動型リード
- 9. MageUIで符号なしClickOnceを作成
- 10. チャンク転送符号化 - ブラウザの動作
- 11. 予期しない左シフト動作
- 12. (符号なし)バイト
- 13. MySQLデータ型 - 符号なし符号なし
- 14. styleColorBar中央とシフト左/右に依存する符号
- 15. 符号付き整数、左への算術シフト
- 16. 負のオペランドの符号付き右シフト演算子
- 17. 算術右シフト符号付き整数の
- 18. 符号なしと符号付きの数値のnumpyの合計が浮動小数点になります
- 19. アセンブラで符号拡張後に論理シフトが失われていくARMv8
- 20. 符号反転が機能しない
- 21. Cloudinaryリキャリブレーション符号なしの画像が
- 22. 符号なし文字列の作成が不可能
- 23. Javascriptが8ビット符号なしjavascript配列を作成
- 24. 符号なしと符号付きバイナリ整数への追加
- 25. 符号付きと符号なしの数字の解釈
- 26. JNLP:符号付きコード内に符号なしコードをロード
- 27. 符号なしの符号付き変換をJavaで逆
- 28. 符号なし文字と符号付き文字の比較
- 29. vs2015警告C4018: '<=':符号付き/符号なし不一致
- 30. 符号付き16進数減算対符号なし
これは 'data [0] >>> 6'の結果です。 – Maroun
[Java:シフトマイナス数](http://stackoverflow.com/questions/29498247/java-shift-negative-number)&[マイナスシフトしたビットワイズシフト演算子]の重複している可能性があります(http:// stackoverflow .com/q/15603327/876298)&[ビット単位の左シフト動作](0120-18491-1)・ –