В случае знаковых типов данных старший бит отвечает за знак числа (1 – отрицательное число, 0 – положительное число). Основной проблемой является представление отрицательных чисел. Для такого представления существует следующий алгоритм:
1. нахождение двоичного представления модуля числа,
2. нахождение двоичного дополнения числа,
3. прибавление единицы.
Рассмотрим алгоритм на примере. Представим число
в знаковом однобайтном типе данных (тип char в языках С/С++):
1. Двоичное представление
,
2. Для нахождения двоичного представления инвертируем все биты числа
,
3. Прибавляем единицу
.
После этого записываем полученные значения в соответствующие биты:

Рисунок 2.






