Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы final version.docx
Скачиваний:
62
Добавлен:
21.03.2016
Размер:
2.35 Mб
Скачать

Двоичный пример

Метод дополнений в основном используется в двоичной системе счисления(с основанием 210), так как в двоичной системе счисления дополнение до 1 очень просто получается инверсией каждого бита (заменой '0' на '1' и наоборот) и добавлением единицы, дополнение до 2 может быть сделано симуляцией единицы переноса в младший значащий бит.[1]Например: вычитание 10010— 2210

011001002(x, равное десятичным 10010)

- 000101102(y, равное десятичным 2210)

в методе дополнений становится суммой:

011001002(x)

+ 111010012(первое дополнение y)

+ 12(чтобы получить второе дополнение)

==========

1010011102

После отброса левой (старшей, начальной) «1» получается ответ: 010011102(равное десятичным 7810).

  1. Представление отрицательных чисел в прямом, дополнительном двоичных кодах. [Понятие ограниченной разрядной сетки. Назначение, структура прямого кода, примеры чисел. Назначение, структура, предпосылки к созданию дополнительного кода, порядок формирования чисел в дополнительном коде.]

ограниченная разрядная сетка - это когда число по модулю не может быть больше предельного, например если 4 разряда, то максимальное число, что можно записать = 1111 = 8+4+2+1=15.... Так что если 1111+1 - то будет ПЕРЕПОЛНЕНИЕ

В форме с фиксированной запятой в разрядной сетке выделяется строго определенное число разрядов для целой и для дробной частей числа. Левый (старший) разряд хранит признак знака (0 – "+", 1 – "-") и для записи числа не используется.

Прямой код— способ представлениядвоичныхчиселсфиксированной запятойвкомпьютерной арифметике. Главным образом используется для записиположительных чисел.

При записи числа в прямом коде старший разряд является знаковым разрядом. Если его значение равно 0 — то число положительное, если 1 — тоотрицательное. В остальных разрядах (которые называютсяцифровыми разрядами) записывается двоичное представлениемодулячисла.

Применение прямого кода

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

Однако, у прямого кода есть два недостатка:

  • В прямом коде есть два варианта записи числа 0(например, 00000000 и 10000000 в восьмиразрядном представлении).

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

Выполнение арифметических операций над числами в прямом коде затруднено: например, даже для сложения чисел с разными знаками требуется кроме сумматораиметь специальный блок-«вычитатель», сложность реализации которого такая же, как и обычногосумматора. Кроме того, при выполнении арифметических операций требуется особо обрабатывать значащий разряд, так как он не имеет веса. Также требуется обработка «отрицательного нуля». Таким образом, выполнение арифметических операций над числами в прямом коде потребует сложной архитектуры центрального процессора и в общем является неэффективным.

0 00011010 - положительное число 1 00011010 – отрицательное число

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

Дополнительный код— наиболее распространённый способ представления отрицательных целых чисел вкомпьютерах. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуруЭВМ. Дополнительный кодотрицательного числаможно получить инвертированием модуля двоичного числа (первое дополнение) и прибавлением к инверсии единицы (второе дополнение). Либо вычитанием числа из нуля.

Дополнительный код (дополнение до 2) двоичного числа получается добавлением 1 к младшему значащему разряду его дополнения до 1.[1]

Дополнение до 2двоичного числа определяется как величина полученная вычитанием числа из наибольшей степени двух (из 2Nдля N-битного дополнения до 2).