5.1. Коды: прямой, обратный, дополнительный, модифицированный
Одним из способов выполнения операции вычитания является замена знака вычитаемого на противоположный и прибавление его к уменьшаемому:
A – B = A + (–B).
Этим операцию арифметического вычитания заменяют операцией алгебраического сложения. Последняя и становится основной операцией.
Для машинного представления отрицательных чисел используют коды прямой, дополнительный, обратный.
Прямой код обычно используется при хранении чисел в запоминающем устройстве, а обратный и дополнительный коды — при выполнении над числами арифметических и некоторых других операций. При пересылках из запоминающего устройства в арифметическое и обратно числа перекодируются. Все три кода состоят из кода знака (число отведённых разрядов l), кода целой части (m) и кода дробной части (n) числа. Сумма d =l+т+n называется длиной кода. Как правило l, т и n фиксированы. В случае целых чисел n=0, для правильных дробей обычно т=0, когда все числа одного знака, l=0.
Для положительных чисел код знака обозначается последовательностью нулей, для отрицательных — последовательностью единиц. Для положительных чисел прямой, обратный и дополнительный коды совпадают.