論理右シフトと算術右シフトの違いは何ですか?
質問する
1961 次
3 に答える
6
算術右シフトは符号ビットを複製します。論理シフトは符号ビットを無視し、左端のビットはになり0
ます。
例
物事をシンプルに保つための8ビット右シフト。
例1
11100101
元のビット
11110010
算術右シフト
01110010
論理右シフト
例2
00011101
元のビット
00001110
算術右シフト
00001110
論理右シフト
符号ビットが。の場合、両方の操作は同じであることに注意してください0
。
于 2010-10-22T04:44:55.200 に答える
3
LSRはビットを右にシフトし、MSbを0で埋めます。ASRはビットを右にシフトし、シフト前にあったものでMSbを埋めます。これにより、符号付き数値の「2で割る」メカニズムが維持されます。
于 2010-10-22T04:45:19.223 に答える
1
1つ(算術シフト)は符号を保持します(空いた左端のビット位置に以前そこにあったものの複製を埋めることによって)。もう1つは(論理シフト)せず、代わりに常にゼロで埋めます。
于 2010-10-22T04:45:13.500 に答える