1

論理右シフトと算術右シフトの違いは何ですか?

4

3 に答える 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 に答える