私はJavaで-1 >> 1
を実行しようとしましたが、印刷結果が冒頭でまだ-1
だった、私はこれが原因で算術右シフトの符号拡張性質のものであると思いました。しかし、追加のテストによって、私は-1 >> [0, 64]
が-1
であることがわかりました。なぜこうなった?Javaで-1のビットシフトが機能しないのはなぜですか?
1
A
答えて
4
これは、符号拡張です。 -1
は、1だけを含むビットシーケンスによって表される。したがって、符号拡張を伴う右シフトを使用すると、ビットシフトの第2オペランドにかかわらず、常にすべてのビット1、すなわち-1
を有するシーケンスが得られる。
+0
@KelvinZhang符号ビットはありません。最上位ビットがセットされている場合、これは、他のビットによって表される(符号なし)数から「2^31」を減算することを意味する。 (2の補数表現) – fabian
関連する問題
- 1. GMPビットシフトが負の数では機能しない
- 2. なぜimread(pic_name [i]、1)が機能しないのですか?
- 3. 私のバブルソートはなぜ機能しないのですか? - Java
- 4. これはなぜ機能しないのですか? Java
- 5. JavaプログラムでHTMLタグが機能しないのはなぜですか?
- 6. Google +1ボタンのコードが機能しないのはなぜですか?
- 7. メディアクエリーの1つだけが機能しないのはなぜですか?
- 8. JavaとPHPの同じコードが機能しないのはなぜですか?
- 9. アラートが自分の機能の1つで機能しないのはなぜですか?
- 10. このビットシフト権はなぜ機能しないように見えるのですか?
- 11. LogonUser(...)がドメインアカウントで機能しないのはなぜですか?
- 12. マージンがポジションで機能しないのはなぜですか?
- 13. Safefilenamesでメディアソースが機能しないのはなぜですか?
- 14. IEでオーバーレイが機能しないのはなぜですか?
- 15. LaravelでDateTime()が機能しないのはなぜですか?
- 16. モバイルでメディアクエリが機能しないのはなぜですか?
- 17. PhoneGapでリンクが機能しないのはなぜですか?
- 18. センターアラインメントがCSSで機能しないのはなぜですか?
- 19. ボーダープロパティがリストアイテムで機能しないのはなぜですか?
- 20. アプリでルーティングが機能しないのはなぜですか?
- 21. IE7でフォントサイズが機能しないのはなぜですか?
- 22. スクリプトでdbms_lob.fragment_insertが機能しないのはなぜですか?
- 23. スレッドでガーベジコレクションが機能しないのはなぜですか?
- 24. フィールドセットがWordPressで機能しないのはなぜですか?
- 25. スクリプトがチェックボックスで機能しないのはなぜですか?
- 26. TryではなぜOptionTが機能しないのですか?
- 27. ルートアニメーションがAngular2で機能しないのはなぜですか?
- 28. codeigniterでorder_by()が機能しないのはなぜですか?
- 29. レイアウトでコードが機能しないのはなぜですか?
- 30. WordPressでリンクが機能しないのはなぜですか?
これは算術右シフトの符号延びる性質を_is_。 '-1'は' 0xffffffff'です。一番左のビットは '1'なので、右シフトを計算すると1ビット進んでくるので、' 0xffffffff'のままです。 –
@AdrianColomitchiその質問のダップではありません。その場合、答えは、シフト演算子がシフト量の下位5ビットのみを使用するという事実と関係しているので、 '1 >> 32'は' 1 >> 0'と同じです。この質問は、記号拡張に関するものです。私はそれがdupだと確信しています、ちょうどその質問ではありません。 –