В памяти компьютера целые положительные и отрицательные числа представляются несколькими способами:
- Прямой код: для положительных чисел совпадает с двоичным представлением, для отрицательных - старший бит (знаковый) устанавливается в 1.
- Обратный код: для положительных чисел совпадает с прямым кодом, для отрицательных - все биты, кроме знакового, инвертируются.
- Дополнительный код: для положительных чисел совпадает с прямым кодом, для отрицательных - получается путем инвертирования всех битов (как в обратном коде) и добавления 1. Дополнительный код наиболее распространен, так как упрощает арифметические операции.