|
Модифицированные обратный и дополнительный коды.
При переполнении разрядной сетки, происходит перенос единицы в знаковый разряд. Это приводит к неправильному результату, причем положительное число, получившееся в результате арифметической операции может восприниматься как отрицательное (так как в знаковом разряде "1") и наоборот.
Здесь X и Y – коды положительных чисел, но ЭВМ воспринимает результат их сложения как код отрицательного числа (“1” в знаковом разряде). Для обнаружения переполнения разрядной сетки вводятся модифицированные коды. Модифицированный обратный код – в нем под знак числа отводится не один, а два разряда. Форма записи чисел в модифицированном обратном коде выглядит следующим образом: 1) для положительного числа X= 2) для отрицательного числа X= (обозначение В модифицированном обратном и модифицированном дополнительном кодах под знак числа отводится не один, а два разряда: "00" соответствует знаку "+", "11" – знаку "-". Любая другая комбинация (“01” или “10”), получившаяся в знаковых разрядах служит признаком переполнения разрядной сетки. Сложение чисел в модифицированных кодах ничем не отличается от сложения в обычных обратном и дополнительном кодах. Рассмотрим предыдущий пример, выполнив сложение в модифицированном обратном коде:
В ЭВМ в процессе работы оба знаковых разряда сравниваются. В случае появления признака переполнения машина останавливается. Модифицированный дополнительный код также рассматривает два знаковых разряда, а во всем остальном ничем не отличается от обычного дополнительного кода, то есть: 1) для положительного числа X=
2) для отрицательного числа X=
Пример. Даны два числа: X=101001 и Y= –11010. Сложить их в дополнительном и модифицированном дополнительном кодах.
1) Переведем X и Y в дополнительный и модифицированный дополнительный код:
2) Выполним сложение:
Переполнения нет (в знаковых разрядах “00”), поэтому результаты, полученные в обычном и модифицированном кодах совпадают (X+Y=1111).
Упражнения 2.
1) Записать число в прямом, обратном и дополнительном кодах: а) 11010; б) –11101; в) –101001; г) –1001110. 2) Перевести X и Y в прямой, обратный и дополнительный коды. Сложить их в обратном и дополнительном кодах. Результат перевести в прямой код. Проверить полученный результат, пользуясь правилами двоичной арифметики.
3)
Сложить X и Y в модифицированном обратном и модифицированном дополнительном восьмиразрядных кодах. В случае появления признака переполнения увеличить число разрядов в кодах и повторить суммирование. Результат перевести в прямой код и проверить, пользуясь правилами двоичной арифметики.
Формы представления чисел в ЭВМ. При проектировании ЭВМ, создании инструментального и прикладного программного обеспечения разработчикам приходится решать вопрос о представлении в ЭВМ числовых данных. Для решения большинства прикладных задач обычно достаточно использовать целые и вещественные числа. Запись целочисленных данных в запоминающем устройстве ЭВМ не представляет затруднений: число переводится в двоичную систему и записывается в прямом коде. Диапазон представляемых чисел в этом случае ограничивается количеством выделенных для записи разрядов. Для вещественных данных обычно используются две формы записи: число с фиксированной точкой (ЧФТ) и число с плавающей точкой (ЧПТ).
![]() ![]() Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... ![]() Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... ![]() Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... ![]() Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|