Для выполнения арифметических операций двоичные числа кодируются специальными машинными кодами: прямыми, дополнительными и обратными, позволяющими заменить операции вычитания операциями суммирования, что упрощает построение арифметическо-логических устройств.
Прямой код. Представление двоичных чисел в прямом коде основано на подаче их в абсолютном виде с соответствующим знаком: плюсом (0) или минусом (1).
Формула для образования прямого двоичного числа имеет вид:
Пример 2. а) N = +0.0101; N пр= 0.0101.
б) N = – 0.0101; N пр = 1 – (– 0.0101) = 1.0101.
Ноль в прямом коде может выглядеть двояко, т.е. может быть и положительным и отрицательным
а) N = +0.00...00; N пр = 0.00...00;
б) N = – 0.00...00; N пр = 1.00...00.
Прямой код используется для хранения чисел в устройствах ввода и вывода информации, а также при выполнении операции умножения.
Обратный код. Формула для образования обратного кода имеет вид
Пример 2. N = – 0.1010112, N обр = 102 – 0.101011 – 0.000001 = –1.010100
Обратный код положительного числа полностью совпадает с изображением числа в прямом коде. Для получения обратного кода отрицательного числа, нужно в знаковом разряде этого числа поставить единицу, а в числовых разрядах нули заменить единицами, а единицы - нулями.
|
|
В обратном коде нуль изображается неоднозначно:
N = + 0.00...00; N обр = 0.00...00;
N = – 0.00...00; N обр = 1.11...11.
Дополнительный код. Формула для образования дополнительного кода двоичного числа имеет вид
Пример 3. N = 0.1010 = 102 + (– 0.1010) = – 1.0101.
Дополнительный код положительного числа полностью совпадает с изображением числа в прямом коде.
Чтобы записать отрицательное число в дополнительном коде, нужно в знаковом разряде этого числа поставить единицу, во всех числовых разрядах нули заменить единицами, единицы – нулями и к полученному результату прибавить единицу младшего разряда.
Пример 4. N = – 0.1010, N обр= 1.0101, N доп = 1.0110.
В дополнительном коде отрицательный нуль отсутствует.