При записи знаковых чисел всегда задают его формат, т.е. число бит, выделяемых для записи знакового числа. Обычно этот формат состоит из восьми бит. Используются прямой (Рис.1) и дополнительный коды (Рис.2) для записи знаковых чисел. В прямой кодировке старший разряд используется как знаковый разряд, а оставшиеся младшие разряды используются для обозначения модуля числа.
Рис.1 Прямой код
Максимальное положительное число в прямой кодировке в двоичном представлении записывается как 01111111 = 12710.
Минимальное положительное число в прямой кодировке в двоичном представлении записывается как 11111111 = -12710.
Пример: Нарисовать график зависимости знакового значения восьми битного числа в прямой кодировке от его без знакового эквивалента.
Прямой код использовался в микропроцессорной технике на ранних этапах развития. В настоящее время используется лишь дополнительный код для записи знаковых чисел. В дополнительном коде кодировка положитель-ных чисел совпадает с прямой кодировкой, а для кодировки отрицательных чисел введено специальное правило. Для получения дополнительного кода отрицательные числа в формате из n бит необходимо записать n-битный мо-дуль этого числа, затем все биты проинвертировать и к полученному числу арифметически прибавить единицу.
Для получения модуля отрицательного числа записанного в дополни-тельном коде необходимо выполнить следующие операции:
1. Записать n-битный код отрицательного числа,
2. Проинвертировать все биты,
3. Арифметически прибавить единицу.
Рис.2 Дополнительный код
Пример:
10101111 Знак: «-»
0101111 – Модуль
Число 10101111 после инвертирования становиться 01010000, затем прибавляем единицу
01010000 + 1 = 010100012 = 5116 = 8110
Пример: Нарисовать график зависимости знакового значения восьми битного числа в дополнительной кодировке от его без знакового эквивалента.