Прямой код и дополнительный код
Двоичное представление значения типа byte
в памяти:
Старший бит в целых числах со знаком используется для обозначения знака. Для положительных чисел он всегда равен 0. В отрицательных числах старший бит всегда равен 1. Такая запись числа в двоичной системе счисления называется прямой код.
Таким образом, в двоичной системе счисления, используя прямой код, в восьмиразрядной ячейке (байте) можно записать семи разрядное число. Например:
0 0001101 – положительное число
1 0001101 – отрицательное число
При этом в вычислительной технике прямой код используется почти исключительно для представления положительных чисел.
Для отрицательных чисел используется так называемый дополнительный код. Это связано с удобством выполнения операций над числами электронными устройствами компьютера.
Для перевода отрицательного числа в дополнительный код используется следующий алгоритм:
- Все разряды числа (кроме первого разряда) инвертируются, т.е. заменяются противоположными (0 на 1, а 1 на 0). Например, если 1 0001100 – это прямой код числа, то при формировании его дополнительного кода, сначала надо заменить нули на единицы, а единицы на нули, кроме первого разряда. Получаем 1 1110011.
- Далее следует прибавить единицу к получившемуся инверсией числу:
1 1110011 + 1 = 1 1110100
Презентацию с видео можно скачать на Patreon.
Please log in or register to have a possibility to add comment.