Прямой код со знаком без знака

Прямой, обратный и дополнительный коды

прямой код со знаком без знака

Принято считать, что 0 в знаковом разряде означает знак «плюс» для Обратный код для положительных чисел имеет тот же вид, что и прямой код, . Числа со знаком и дополнительный код в компьютерах использовались разные виды кодирования: прямой, обратный и дополнительный код. Например, числу со знаком -5 соответствует число без знака Обратный двоичный код положительного числа состоит из одноразрядного кода знака (битового знака) — двоичной цифры 0.

Все биты в таком числе являются информационными и оно может принимать только неотрицательные значения.

прямой код со знаком без знака

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

Прямой код

Если знаковый бит равен нулю, то число положительное, иначе — отрицательное. Понятно, что положительное число со знаком будет выглядеть точно так же, как и число без знака. С отрицательными числами чуть сложнее.

Исторически для представления отрицательных чисел в компьютерах использовались разные виды кодирования: В настоящее время наиболее часто используется дополнительный код, в том числе и в процессорах x Чтобы сделать из положительного числа отрицательное, необходимо проинвертировать все его биты 0 заменяем на 1, а 1 заменяем на 0 и затем к младшему разряду прибавить единицу. Например, представим -5 в дополнительном коде: Процессору абсолютно по барабану, какие данные он обрабатывает, поэтому невнимательность может привести к ошибке.

прямой код со знаком без знака

Один и тот же байт может интерпретироваться по-разному, в зависимости от того со знаком число или. Поэтому, если в первом разряде находится 1, то мы имеем дело с дополнительным кодом и с отрицательным числом. Все остальные разряды числа в дополнительном коде сначала инвертируются, то есть заменяются противоположными 0 на 1, а 1 на 0.

Представление числовых данных в памяти ЭВМ

Например, если 1 — это прямой код числа, то при формировании его дополнительного кода, сначала надо заменить нули на единицы, а единицы на нули, кроме первого разряда. Но это еще не окончательный вид дополнительного кода числа. Далее следует прибавить единицу к получившемуся инверсией числу: Причина, по которой используется дополнительный код числа для представления отрицательных чисел, связана с тем, что так проще выполнять математические операции.

Например, у нас два числа, представленных в прямом коде.

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

Одно число положительное, другое — отрицательное и эти числа нужно сложить. Однако просто сложить их.

прямой код со знаком без знака

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

Информатика. Лекция №5. Представление чисел в компьютере.

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