Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов_Шпоры.docx
Скачиваний:
21
Добавлен:
26.09.2019
Размер:
375 Кб
Скачать
☆

Билет №11. Операция сдвига как составная часть арифметических операций.

Исх. число

Сдвиг на 1 влево

Сдвиг на 1 вправо

+Х

0.x1x2…xn

x1.x2…xn0

0.0x1x2…xn-1

(-Х) доп.код

1.x1x2…xn

x1.x2…xn0

1.1x1x2…xn-1

(-Х) обр.код

1.x1x2…xn

x1.x2…xn1

1.1x1x2…xn-1

Поскольку дополнительный, обратный и прямой код для положительного числа совпадают, то при сдвиге положительного числа влево и вправо освободившиеся разряды заполняются нулями. Обратный код для отрицательного числа это инвертированный прямой код для отрицательного числа, за исключением знакового разряда, поэтому при сдвиге отрицательного числа влево и вправо на k разрядов, освободившиеся разряды заполняются единицами. Дополнительный код отрицательного числа это обратный код с прибавленной единицей в младший разряд, поскольку при сдвиге влево мы заполнили освободившиеся разряды нулями, то при переводе в дополнительный код прибавляем единицу и получаем ее в младшем разряде дополнительного кода, при сдвиге вправо ничего не измениться, то есть все также, как и для обратного кода. Операция сдвига является очень важной операцией и используется в машинной арифметике как правило в делении со сдвигами,при выполнении операций с плавающей запятой. Пример. x=-0.101101, сдвинем на 3 разряда вправо и получим x=-0.000101101, в дополнительном коде [x]д=11.111010011

Билет №12. Выполнение арифметических операций с плавающей запятой. Сложение чисел с плавающей запятой. Пусть , . Рассмотрим 3 случая: 1) p1=p2=p, тогда (складываются только мантиссы) 2) p1>p2, При разных порядках слагаемых необходимо произвести выравнивание порядка, т.е. порядок меньшего числа привести к порядку большего числа, а мантисса сдвигается вправо на количество разрядов, равное разности порядков. 3) p1<p2 Производятся аналогично предыдущему случаю, только теперь сдвигается вправо q1 Умножение и деление чисел с плавающей запятой. 4) 5) Вычитание чисел с плавающей запятой – это частный случай сложения, поэтому применяются те же правила. При выполнении арифметических операций с плавающей запятой можно столкнуться с такой проблемой, как нарушение условия нормализации, при таком раскладе рассматриваются два случая: 1) Нарушение нормализации справа (Возникает при переполнении разрядной сетки) В таком случае просто необходимо произвести выравнивание порядка q сдвигаем на единицу вправо, а порядок увеличиваем на ту же единицу. 2) Нарушение нормализации слева Если значение знакового старшего разряда совпадает, то на лицо нарушение нормализации слева, в противном случае нарушения нормализации нет. 00.0…. нарушение 11.1…. нарушение 11.0… нарушение отсутствует 00.1… нарушение отсутствует При возникновении таких случаев мантиссу сдвигают влево до тех пор, пока не достигается условие отсутствия нарушения нормализации. Пусть пришлось сдвинуть мантиссу на к разрядов влево, тогда порядок нужно уменьшить на к разрядов для исключения искажения числа.