Урок 3

Хранение целочисленных чисел в памяти

Двоичное представление значения типа byte в памяти:

Представление типа byte в памяти

Старший бит в целых числах со знаком используется для обозначения знака. Для положительных чисел он всегда равен 0. В отрицательных числах старший бит всегда равен 1. Такая запись числа в двоичной системе счисления называется прямой код.

Таким образом, в двоичной системе счисления, используя прямой код, в восьмиразрядной ячейке (байте) можно записать семиразрядное число. Например:

0 0001101 – положительное число
1 0001101 – отрицательное число

При этом в вычислительной технике прямой код используется почти исключительно для представления положительных чисел.

Для отрицательных чисел используется так называемый дополнительный код. Это связано с удобством выполнения операций над числами электронными устройствами компьютера.

Для перевода отрицательного числа в дополнительный код используется следующий алгоритм:

  1. Все разряды числа (кроме первого разряда) инвертируются, т.е. заменяются противоположными (0 на 1, а 1 на 0). Например, если 1 0001100 – это прямой код числа, то при формировании его дополнительного кода, сначала надо заменить нули на единицы, а единицы на нули, кроме первого разряда. Получаем 1 1110011.
  2. Далее следует прибавить единицу к получившемуся инверсией числу:
    1 1110011 + 1 = 1 1110100

 

Источники: 

1. http://inf1.info/additionalcode




0 Comments
Leave your comment: