Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену.docx
Скачиваний:
50
Добавлен:
28.06.2021
Размер:
681.96 Кб
Скачать

Вопрос 4 Форматы данных, прямой, обратный, дополнительный код.

В ЭВМ в целях упрощения выполнения арифметических операций применяютспециальные кодыдля представления чисел. Использование кодов позволяет свести операцию вычитания чисел к операции поразрядного сложения кодов этих чисел.

Применяютсяпрямой, обратный и дополнительный коды чисел.

К кодам выдвигаются следующие требования:

1)Разряды числа в коде жестко связаны с определенной разрядной сеткой.

2) Для записи кода знака в разрядной сетке отводится фиксированный, строго определенный разряд.

Например, если за основу представления кода взят один байт, то для представления числа будет отведено 7 разрядов, а для записи кода знака один разряд. Знаковым разрядом является старший разряд в разрядной сетке.

Прямой код

Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.

Пример.В случае, когда для записи кода выделен один байт, для числа +1101 прямой код 0,0001101, для числа -1101 прямой код 1,0001101.

Обратный код

Обратный код для положительного числа совпадает с прямым кодом.

Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.

Пример.

Для числа +1101 прямой код 0,0001101; обратный код 0,0001101.

Для числа -1101 прямой код 1,0001101; обратный код 1,1110010.

Дополнительный код

Дополнительный код положительного числа совпадает с прямым кодом.

Дляотрицательногочисладополнительный кодобразуется путем полученияобратного кодаидобавлениемк младшему разрядуединицы.

Пример.

Для числа +1101Для числа -1101

прямой код0,0001101;1,0001101;

обратный код0,0001101;1,1110010.

дополнительный код: 0, 00011011,1110011

Итак, все целые отрицательные числа в компьютере представляются дополнительным кодом.

Вопрос 5 Выполнение операции алгебраического сложения в эвм.

При вычислении суммы двух чисел возможны два варианта: слагаемые имеют одинаковые знаки и слагаемые имеют различные знаки. В результате этого алгоритмы получения суммы для каждого из них различны.

Для операндов с одинаковыми знаками:

1. Сложить два числа.

2. Сумме присвоить знак одного из слагаемых.

Алгоритм получения алгебраической суммы:

1. Сравнить знаки слагаемых, и если они одинаковы, то выполнить сложение по первому алгоритму.

2. Если знаки слагаемых разные, то сравнить слагаемые по абсолютной величине.

3. Вычесть из большего меньшее.

4. Результату присвоить знак большего слагаемого.

Из этого следует, что первый алгоритм проще второго. Следовательно, желательно преобразовать отрицательные числа таким образом, чтобы операцию вычитания заменить операцией сложения, т.е. S=A+(-B).

Для того, чтобы решить эту проблему, необходимо вводить специальные коды: прямой, обратный, дополнительный.

Способ построения этих кодов определяется функциями кодирования, которые должны обеспечить:

1. Запись алгебраического знака числа.

2. Представление отрицательных чисел при помощи вспомогательных, положительных, которые отличаются по изображению от положительных исходных чисел, т.е. области изображений положительных и отрицательных чисел не должны пересекаться.

3. Полную идентичность алгоритмов выполнения операций над числами различных знаков, и следовательно, полную идентичность необходимого при этом оборудования.