- •2. Чем отличаются процессы сдвига влево и вправо для чисел со знаком и беззнаковых?
- •4. Как выглядит десятичный код числа типа float (double, long double), имеющего наименьшее положительное значение, отличное от нуля?
- •5. В каком порядке следует выполнять действия для получения дополнительного кода двоичного целого числа из прямого кода?
- •6. Чем отличается циклический сдвиг двоичного кода от логического сдвига?
- •7. Чем отличается логический сдвиг двоичного кода от арифметического сдвига?
- •8. Как изменяется значение числа при арифметическом сдвиге на 1 двоичный разряд влево?
- •9. Как изменяется значение числа при арифметическом сдвиге на 1 двоичный разряд вправо?
7. Чем отличается логический сдвиг двоичного кода от арифметического сдвига?
При логическом сдвиге значение последнего бита по направлению сдвига теряется (копируясь в бит переноса), а первый приобретает нулевое значение.
Арифметический сдвиг аналогичен логическому, но число считается знаковым, представленным в дополнительном коде. Так, при правом сдвиге старший бит сохраняет своё значение. Левый арифметический сдвиг идентичен логическому.
Арифметический сдвиг:
Вывод: арифметический сдвиг отличается от логического тем, что он не изменяет значение старшего бита, и предназначен для чисел со знаком.
8. Как изменяется значение числа при арифметическом сдвиге на 1 двоичный разряд влево?
При арифметическом сдвиге сдвиг влево соответствует умножению на 2 (в общем случае — на основание системы счисления).
9. Как изменяется значение числа при арифметическом сдвиге на 1 двоичный разряд вправо?
При арифметическом сдвиге сдвиг вправо соответствует делению на 2 (в общем случае - на основание системы счисления).
10. В каком порядке следует выполнять действия для получения прямого кода двоичного целого числа из дополнительного кода? (НЕ УВЕРЕН)
Прямой обратный и дополнительный код - это модели представления целых чисел , как положительных, так и отрицательных. Во всех трех кодах старший разряд указывает на знак числа и он равен единице, если число отрицательное и нулю в противном случае. Остальные разряды содержат представление модуля числа. Различие между кодами наблюдается именно в способах представления модуля. Для положительного числа модуль во всех трех кодах представляется одинаково - это просто естественная запись двоичного числа. Для отрицательных чисел, в обратном коде это просто поразрядная инверсия прямого кода, а в дополнительном - к обратному коду, как к числу, просто прибавляется единица.
Вычесть единицу и инвертировать, кроме бита знака.