Справочник от Автор24
Нужна помощь?
Найдем эксперта за 5 минут
Подобрать эксперта
+2

Представление отрицательных чисел в компьютере

Срочно нужна работа?
Мы готовы помочь!
Найти эксперта
Определение 1

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

Введение

Замечание 1

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

Такая числовая организация позволяет сильно упростить структурное построение электронных вычислительных машин. В западных версиях обратный код принято обозначать первым дополнением, а дополнительный код обозначать как второе дополнение. Дополнительный код отрицательного числа возможно сформировать путём инверсии его модуля в двоичном коде с последующим добавлением к инвертированному значению единицы. Этот вариант обозначается как второе дополнение. Дополнительный код числа со знаком минус возможно также сформировать, если вычесть это число из нуля. То есть, дополнительный код числа в двоичном коде, может быть сформирован путём добавления единицы к младшему не нулевому разряду первого дополнения этого числа. Второе дополнение числа в двоичном коде формируется как кодовый набор, который получается при вычитании числа из самой большой степени двойки, то есть из два в степени N для второго дополнения числа, состоящего из N двоичных кодов.

Отрицательные числа в дополнительном коде

Когда число представляется в формате дополнительного кода, то старший разряд будет считаться определяющим знак. Когда этот разряд равняется нулю, то в остальных разрядах записывается значение, которое совпадает с его основным кодированием. Число, состоящее из восьми разрядов в двоичном коде и имеющее знак, возможно представить в дополнительном коде как некое целочисленное значение в зоне от −128 до +127. Когда старший разряд имеет нулевое значение, то наибольшим числовым значением, которое возможно записать в остальных семи позициях, будет: $2^7 – 1$.

Десятичные числа в дополнительном коде

Аналогичная методика применяется и для отображения десятичных чисел в электронных вычислительных машинах. Последовательно выполняется замена символа Х на 9 – Х, и результату добавляется единица. К примеру, если применяются числа из четырёх разрядов, то – 2272 нужно заменить на 7728, то есть 7728 + 2272 = 0000, пятый разряд отбрасывается при этом.

Перевод числа из прямого кода в дополнительный

Чтобы преобразовать число из прямого кода в дополнительный, нужно:

  • В случае равенства нулю старшего числового разряда, являющегося знаковым, никаких переформирований не требуется, поскольку это означает, что число положительное.
  • В случае равенства единице старшего разряда числа, представленного в прямом коде, все остальные числовые разряды подвергаются инверсии, а затем к итогу надо прибавить единицу.

Например, необходимо выполнить преобразование отрицательного числа пять, представленного в прямом коде, в формат дополнительного кода. Основным кодом является двоичный код:

1000 0101

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

1111 1010

Осталось прибавить единицу, что даст искомый итоговый дополнительный код:

1111 1011

Достоинства и недостатки

К достоинствам следует отнести:

  1. Единый набор команд для выполнения арифметических операций и сдвига влево для числовых выражений, имеющих и не имеющих знак.
  2. Не существует цифра нуль с минусом.

К недостаткам относятся:

  1. Формат выражения отрицательных чисел не подпадает в визуальном смысле под общие правила.
  2. В отдельных форматах или их отдельных составляющих есть неудобства при кодировании.
  3. Самое большое число по модулю не равно самому маленькому числу.
Срочно нужна работа?
Мы готовы помочь!
Найти эксперта
Дата написания статьи: 26.12.2019