Прямой код не используется для хранения целых чисел со знаком в компьютерах, потому что выполнение арифметических операций над числами в прямом коде затруднено. 12
Некоторые проблемы:
- Сложность сложения чисел с разными знаками. 2 Для этого требуется специальный блок-«вычитатель», сложность реализации которого такая же, как и обычного сумматора. 2
- Обработка знакового разряда. 2 В прямом коде знаковый разряд не имеет веса, поэтому его нужно обрабатывать отдельно. 2 Также требуется обработка «отрицательного ноля». 2
- Необходимость в дополнительных действиях. 1 Например, при сложении нужно было бы проверять знаки обоих операндов и определять знак результата. 1
Для упрощения выполнения арифметических операций вместо прямого кода используют другие формы кодирования, такие как обратный или дополнительный код. 35