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

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

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

Представление целых неотрицательных чисел. Представим десятичное целое число 25 в двоичной системе счисления и впишем его в восьмиразрядную ячейку, Самый старший разряд хранит знак числа. Для представления отрицательных целых чисел используется дополнительный код числа. Для представления чисел в ЭВМ обычно используют битовые наборы — . двоичный код (целые без знака), обратный или дополнительный код. Дополнительный код (англ. two's complement, иногда twos-complement) — наиболее распространённый способ представления отрицательных целых чисел Двоичное 8-разрядное число со знаком в дополнительном коде может представлять любое целое в диапазоне от − до + Если старший.

Дополнительный код дополнение до двух [ править ] Нумерация двоичных чисел в представлении c дополнением до двух.

Представление чисел в двоичном коде

Чаще всего для представления отрицательных чисел используется код с дополнением до двух англ. Алгоритм получения дополнительного кода числа: Для получения из дополнительного кода самого числа нужно инвертировать все разряды кода и прибавить к нему единицу. Можно проверить правильность, сложив дополнительный код с самим числом: Длинная арифметика для чисел, представленных с помощью кода с дополнением до двух[ править ] Дополнительный код также удобно использовать для вычислений в длинной арифметике, особенно для операций сложения и вычитания.

  • Дополнительный код
  • Представление числовых данных в памяти ЭВМ
  • Представление целых чисел в компьютере

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

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

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

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

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

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

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

Несмотря на недостатки, дополнение до двух в современных вычислительных системах используется чаще. Здесь записан код отрицательного числа. Кодирование вещественных чисел Несколько иной способ применяется для представления в памяти персонального компьютера действительных чисел. Рассмотрим представление величин с плавающей точкой. Поскольку каждая позиция десятичного числа отличается от соседней на степень числа 10, умножение на 10 эквивалентно сдвигу десятичной запятой на одну позицию вправо.

Аналогично деление на 10 сдвигает десятичную запятую на позицию влево.

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

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

Фактически подразумевается, что двоичная запятая следует после первой двоичной цифры, то есть нормализация мантиссы делает единичным первый бит, помещая тем самым значение между единицей и двойкой.

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

Место, отводимое для числа с плавающей точкой, делится на два поля. Одно поле содержит знак и значение мантиссы, а другое содержит знак и значение порядка.

Современный персональный компьютер позволяет работать со следующими действительными типами диапазон значений указан по абсолютной величине; в некоторых случаях перечень типов данных может быть расширен:

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