Запишите число -18 в 8-разрядном двоичном коде. Что получится, если применить к нему логический сдвиг вправо? Арифметический сдвиг вправо? Сравните полученные результаты и объясните их.
Результаты логического и арифметического сдвигов в данном случае совпадают, так как число -18 имеет отрицательное число и старший бит равен 1 (что означает знак минус). При сдвиге вправо в обоих случаях заполняется старший бит нулями (так как число отрицательное) и остальные биты сдвигаются на 1 позицию.
-18 в 8-разрядном двоичном коде: 11101110
Логический сдвиг вправо (-18 >> 1):
11110111
Арифметический сдвиг вправо (-18 >>> 1):
11110111
Результаты логического и арифметического сдвигов в данном случае совпадают, так как число -18 имеет отрицательное число и старший бит равен 1 (что означает знак минус). При сдвиге вправо в обоих случаях заполняется старший бит нулями (так как число отрицательное) и остальные биты сдвигаются на 1 позицию.