Различают следующие две формы записи чисел в ЭВМ: форма с фиксированной и плавающей запятой.
Форма с фиксированной запятой.При представлении числа в форме с фиксированной запятой разряды слева от запятой представляют целую часть числа и его знак, а справа - дробную часть числа. Число разрядов для целой и дробной части фиксировано.
Форма с плавающей запятой. Числа в форме с плавающей запятой представляются с помощью двух чисел с фиксированной запятой мантиссы и порядка g. Число А записывается в виде
А = (± m ) p± g.
Число А(2) = 0, 0101 представим как А = 0, 101 · 2-1.
Если числа представлены в форме с фиксированной запятой, то разрядная сетка, содержащая b+1 двоичных разрядов (старший - знаковый, остальные - числовые), позволяет представить 2b+1 различных чисел.
Существует три основных кода для представления чисел: прямой, дополнительный и обратный.
Прямой код. Правило кодирования: в знаковый разряд кода записывается 0 (для положительных чисел) или 1 (для отрицательных чисел).
Обратный код. Положительные числа кодируются так же, как и в прямом коде. Правило кодирования отрицательных чисел: знаковый разряд равен 1, каждый значащий разряд дополняется до максимально возможной цифры в данной СС.
Например, число А2= - 10000 в обратном коде [A]обр 2 = 1.01111
Для перехода к прямому коду необходимо применить этот же алгоритм в таком же порядке.
Дополнительный код.Правило кодирования:
если число A > 0, то [A]доп = [A]пр,
если число А < 0, то в знаковый разряд кода записывается 1, числовые разряды исходного числа инвертируются, и к младшему числовому разряду добавляется 1. Из обратного кода получается путем увеличения на 1 (инкрементации).
Например, число А2 = - 10111 в дополнительном коде
Для перехода к прямому коду необходимо применить этот же алгоритм в таком же порядке.
Кодування двоїчних чисел в цифрових пристроях обробки даних.
Двоичные числа в цифровых устройствах кодируются специальным образом в прямой, обратный и дополнительный коды с целью:
- Представления положительных и отрицательных чисел;
- Замены алгебраического суммирования чисел со знаками, арифметическим сложением кодов чисел (без знаковые);
- С целью определения переполнения разрядной сетки сумматора (ППРС).
Положительные числа во всех 3 кодах выглядят одинаково, отрицательные отличаются записью во всех 3 случаях. Положительные числа всегда представляются в прямом коде. Прямой код двоичного отрицательного числа получается следующим образом. Цифровая часть остается неизменной, а в знаковом разряде устанавливается 1. Прямой код используется для приема и выдачи данных, а также для хранения данных в памяти. Арифметические операции в прямом коде выполняются достаточно сложно так как операции над знаками выполняются по разным правилам.
Для того чтобы получить обратный код двоичного отрицательного числа, необходимо в знаковом разряде установить 1, а цифровые разряды инвертировать.
Для того чтобы получить дополнительный код двоичного отрицательного числа, необходимо в знаковый разряд установить 1, а цифровые разряды дополнить до целой 1. Обратный и дополнительный коды используются для выполнения алгебраических операций, а также хранения чисел в памяти. Обратный код больше самого числа на 2 за исключением веса младшего разряда. Дополнительный код также больше самого числа на 2. Так как дополнительный код больше обратного кода на единицу младшего разряда, то для получения дополнительного кода необходимо к его обратному коду прибавить единицу младшего разряда.
В кодах различаю положительный и отрицательный 0. Отрицательный 0 в различных кодах выглядит по разному. Если отбросить 1 переноса из знакового разряда то положительные и отрицательные нули совпадают. Это является одним из достоинств дополнительного кода.