私は、右シフトのために>>演算子を使用しました。今度は>>>と置き換えて同じ結果を得ました。だから私はこれらの2つが根本的に等しいかどうかわからない。javaのoperator >>とoperator >>>の違いは何ですか?
5
A
答えて
6
最初の演算子は符号ビットのコピーをシフトして値を符号拡張します。第2のものは常にゼロにシフトする。
これは、ビット演算を行う目的で符号なし整数をエミュレートし、Javaで符号なし整数型が不足していることを部分的に補うためです。
11
>>
は、Java tutorialで説明されているように、右シフトの算術(符号付き)で、>>>
は論理(符号なし)右シフトです。それらを負の値で試してみると、違いが見えます。
3
This explains it really well。その同じページには簡略exampleもあります。
しかし、本当の簡単な要約について:
<< signed left shift - shifts a bit pattern to the left
0 0 1 1 1 => 0 1 1 1 0
>> signed right shift - shifts a bit pattern to the right
0 0 1 1 1 => 0 0 0 1 1
>>> unsigned right shift - shifts a zero into the leftmost position
1 1 1 0 => 0 0 1 1
~ unary bitwise complement operator
A | Result
0 | 1
1 | 0
0 | 1
1 | 0
& bitwise and
A | B | Result
0 | 0 | 0
1 | 0 | 0
0 | 1 | 0
1 | 1 | 1
^ xor
A | B | Result
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0
| inclusive or
A | B | Result
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 1
関連する問題
- 1. Prolog - > operator-operator expected
- 2. 'operator >>'と一致しません
- 3. C++エラー: 'input >> Group1-> Entrepreneur :: Item'の 'operator >>'に一致しません。
- 4. C++のoperator - >()の定義
- 5. Assert.fail(node.js):Operatorパラメータは何を意味しますか?</p> <pre><code>assert.fail(actual, expected, message, operator) </code></pre> <p><code>operator</code>はどういう意味:
- 6. C++エラー: 'operator >>'と一致しません
- 7. operator >> overloadの明示的なインスタンス化
- 8. 私は明示的にstd:shared_ptr :: operator - >
- 9. &と&&、|の違いは何ですか? || R?</p> <pre><code>&, && |, || </code></pre> <p>用法の違いを何:
- 10. Javaでは>>と>>>はどういう意味ですか?
- 11. <?php ?>と<? ?>の違いは何ですか?
- 12. "%>"と " - %>"の違いは何ですか?
- 13. Task <>とIAsyncOperation <>の違いは何ですか
- 14. $ this-> requestElement()と$ this-> element()の違いは何ですか?
- 15. while(cin)とwhile(cin >> num)の違いは何ですか?
- 16. <tiles:add>と<tiles:put>ストラットの違いは何ですか?
- 17. Monads:seqと>> =の違いは何ですか?
- 18. $ this-> render()と$ this-> redirect()の違いは何ですか
- 19. <chrono>と<ctime>の違いは何ですか?
- 20. <f:viewParam>と<f:param>の違いは何ですか?
- 21. NHibernate Query <>とQueryOver <>の違いは何ですか?
- 22. 「>>>」はJavaで何を意味しますか?
- 23. ArrayList <?>、ArrayList、ArrayList <Object>の違いは何ですか?
- 24. connection.Close()とconnection.Dispose()の違いは何ですか? <code>SQLiteDataReader</code>オブジェクトの</p> <ul> <li><code>Close()</code></li> <li><code>Dispose()</code></li> </ul> <p>同じ:
- 25. XSDの<all><sequence><choice>との違いは?
- 26. << or > >>とはJavaの意味ですか?
- 27. '>>>' JavaのC++
- 28. Verilogでは>>> symbolとは何ですか?
- 29. レール内の - %>と%>の違い
- 30. process.cwd()と__dirnameの違いは何ですか?</p> <pre><code>console.log(process.cwd()) </code></pre> <p>と</p>私は両方が同様の文脈で使用さ見てきました <pre><code>console.log(__dirname); </code></pre> <p>の違いは何