logo
Цифровая обработка сигналов Лекции / Цифровая обработка сигналов Лекции

Кодирование чисел

Для кодирования числа с фиксированной запятой

A =  0, a1 a2 am, (1.10)

где — числовые разряды с весом

используются три основных способа: прямой, обратный и дополнительный коды.

Прямой код числаA(1.10) записывается в виде

[A]пр=

т.е. знак положительного числа кодируется нулем, знак отрицательного числа — единицей, а числовые разряды кода совпадают с числовыми разрядами самого числа A.

Обратный код числаA(1.10) представляется в виде

[A]обр=

где –инверсия разрядаai(замена 0 на 1 и наоборот).

Положительные числа представляются, как в прямом коде, отрицательные – кодом, в знаковый разряд которого записывается единица, а в числовые разряды – инвертированные значения разрядов прямого кода (это эквивалентно сложению m-разрядного числа A с числом 2 – 2m, т. е. сложению с числом, содержащим во всех разрядах единицы).

Дополнительный код числаA (1.10) представляется в виде

[A]доп=

т.е. положительные числа представляются так же, как и в прямом коде, а отрицательные — кодом, в знаковый разряд которого описывается единица, а в числовые разряды — инвертированные значения разрядов прямого кода и к младшему разряду добавляется единица. Это эквивалентно сложению отрицательного m-разрядного числаA с числом два: 10, 0000.

Обычно прямой код используется при выполнении операции умножения, а дополнительный код — при выполнении операции сложения с отрицательными числами.