私はインターネットでこのJavaの質問を見つけ、それについていくつか質問がありました。
正しい説明は次のとおりです。
- a)>>は符号付きシフトを実行し、>>>は符号なしシフトを実行します。
- b)>>>は符号付きシフトを実行し、>>は符号なしシフトを実行します。
- c)<<は符号付きシフトを実行し、<<<は符号なしシフトを実行します。
- d)<<<は符号付きシフトを実行し、<<は符号なしシフトを実行します。
符号付きシフトが何であるかは少しわかりませんが、シフト自体で何が起こっても(これは私にとって最も理にかなっています)、2進数の符号を保持することを意味しますか、それともMSBが行うことを意味しますか?シフト操作自体で上書きされない限り変更しないでください。
それで
- a)true:>>を使用してシフトをいくつ行っても、MSBは常に元の状態として保持されるため、署名されますか?>>>は常にMSBを0で上書きするのに対し、符号なしですか?
- b)上記の説明のためにfalse
- c)わからない、最初のビットが<<シフト操作で上書きされる可能性があり、したがってその符号が保持されないためですか?
- d)もう一度わからない。