私は、右シフトのために>>演算子を使用しました。今度は>>>と置き換えて同じ結果を得ました。だから私はこれらの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. GNUのreverse_iterator <Iterator> :: operator->とプロキシイテレータ
- 3. javascript "=>" operator
- 4. 'operator >>'と一致しません
- 5. C++エラー: 'input >> Group1-> Entrepreneur :: Item'の 'operator >>'に一致しません。
- 6. Assert.fail(node.js):Operatorパラメータは何を意味しますか?</p> <pre><code>assert.fail(actual, expected, message, operator) </code></pre> <p><code>operator</code>はどういう意味:
- 7. C++のoperator - >()の定義
- 8. JavaとJavaScriptの演算子>>>の違いは何ですか?
- 9. ostream :: operator <<はshared_ptrのoperator->で動作しません
- 10. SFML:Packet operator >>にSoundBufferをオーバーロードする方法は?
- 11. C++エラー: 'operator >>'と一致しません
- 12. operator >> overloadの明示的なインスタンス化
- 13. 私は明示的にstd:shared_ptr :: operator - >
- 14. 'operator >>'(オペランドの種類は 'std :: basic_istream'と '')と一致しません
- 15. SMLのint - > int - > intと(int * int) - > intの違いは何ですか?
- 16. &と&&、|の違いは何ですか? || R?</p> <pre><code>&, && |, || </code></pre> <p>用法の違いを何:
- 17. Javaでは>>と>>>はどういう意味ですか?
- 18. >>>とconcatMapの違い
- 19. $ this-> container-> get( 'someservice')と$ this-> get( 'someservice')の違いは何ですか?
- 20. Task <>とIAsyncOperation <>の違いは何ですか
- 21. <f:viewParam>と<f:param>の違いは何ですか?
- 22. Php $ this - > $ propery_nameと$ this-> propery_nameの違いは何ですか
- 23. NHibernate Query <>とQueryOver <>の違いは何ですか?
- 24. <tiles:add>と<tiles:put>ストラットの違いは何ですか?
- 25. <?php ?>と<? ?>の違いは何ですか?
- 26. Monads:seqと>> =の違いは何ですか?
- 27. while(cin)とwhile(cin >> num)の違いは何ですか?
- 28. $ this-> render()と$ this-> redirect()の違いは何ですか
- 29. <TargetFramework>と<RuntimeFrameworkVersion>の違いは何ですか?
- 30. <chrono>と<ctime>の違いは何ですか?