- •Основные понятия
- •Понятие количества информации
- •Ограничения и допущения:
- •Свойства энтропии
- •Модель информационных объектов
- •Системы счисления
- •Римская система счисления
- •Представление целых чисел со знаком в прямом коде
- •Представление целых чисел со знаком в дополнительном коде
- •Целые числа без знака
- •Целые числа со знаком
- •Переполнение при выполнении операций в дополнительном коде
- •Представление целых чисел со знаком в обратном коде
- •Двоичнокодированные десятичные числа и кодирование
- •Представление вещественных чисел с плавающей точкой. Основные положения.
- •Формат с плавающей точкой для представления вещественных чисел
- •Диапазон представления чисел 32-ух разрядном формате
- •Стандарт ieee формата с плавающей точкой
- •Кубическое представление Булевых функций.
- •Геометрическая интерпретация куба
Целые числа без знака
Ввиду
того, что в ЭВМ зафиксировано количество
двоичных разрядов для представления
определенных форматов, диапазон целых
чисел без знака рассчитывается по
следующей формуле:
.
Следует иметь ввиду, что в результате вычислений может возникнуть ситуация переполнения, когда полученное числовое значение превысит допустимы диапазон для данного формата. Переполнение не является свойством системы счисления, а вызывается лишь недостаточным количеством разрядов для записи полученного числа. В действительности выброшенная за пределы формата единица не теряется, а сохраняется процессором в специальном хранилище, называемом флагом переноса. Флаг переноса используется для фиксации неверного результата и инициализации действий по исправлению ситуации.
Целые числа со знаком
При кодировании целых чисел со знаком машинные форматы те же самые, но заносимая на разрядную сетку последовательность нулей и единиц будет другой, иногда даже для положительных чисел. Определяется выбранным способом кодирования знака и представления отрицательных чисел. Существует четыре различных подхода к представлению чисел со знаком. Допустимы диапазон значений будет определяться не только выбранным количеством двоичных разрядов, но и будет зависеть от самого способа кодирования положительных и отрицательных чисел.
Прямой код
Дополнительный код
Обратный код
Обратный со смещением
Представление целых чисел со знаком в прямом коде
Этот способ представления состоит в явном выделении старшего разряда для обозначения знака числа. Для положительных чисел старший разряд – ноль, для отрицательных – единица. Оставшиеся n-1 младших разрядом (n = 8, 16, 32) определяют абсолютную величину числа, записанную в двоичной системе счисления.
Основной недостаток записи и обработки чисел в прямом коде – представление нуля с формальной точки зрения двояко (+0 и -0), и каждое из этих значение может быть получено в результате вычислений. Очевидно, что оба этих значения должны ассоциироваться процессором с одинаковым числом (с нулем). Другим недостатком прямого кода является то, что операции сложения и вычитания должны выполняться по разным алгоритмам и, соответственно6 на разной аппаратуре процессора. Кроме того, необходимо специальная аппаратура анализа знакового разряда. По этим причинам прямой код не получил широкого распространения в вычислительной технике, хотя и используется.
Представление целых чисел со знаком в дополнительном коде
Данный способ представления использует понятие дополнения числа до основания системы счисления.
Дополнением
любого n-разрядного
числа N
до основания X
системы счисления принято называть
число, полученное путем вычитания N
из Xn.
.
Машинный алгоритм вычисления дополнения не должен выходить за пределы разрядной сетки. Для решения данного вопроса данную формулу можно преобразовать:
Исследуем некоторые свойства дополнений с целью их использования для представления чисел со знаком:
Если сложить число N с его дополнением, то получится число, равное основанию системы счисления6 возведенному в степень (количество разрядов).
Сумма числа и его дополнения дает результат, где все n цифр равны нулю, и единицу, вышедшую за пределы разрядной сетки, а это означает, что с точностью до потерянной единицы дополнение числа N до основания системы счисления ведет себя также, как его отрицание, то есть, если представить отрицание числа как его дополнение до основания системы счисления, то можно построить систему представления чисел со знаком их дополнениями.
Свойства такой системы:
Дополнение числа N, равного нулю, с точностью до потерянной единицы, тоже равно нулю, следовательно, в системе представления чисел со знаком будет один ноль.
Диапазон представления
Алгоритм получения дополнения:
Представление чисел со знаком их дополнениями до основания системы счисления позволяет выполнять операции сложения и вычитания по единому алгоритму и на одном блоке процессора без проверки знаком и абсолютных значений. Для получения дополнения необходимо образовать одноразрядные дополнения его отдельных цифр и к результату прибавить единицу.
Представление чисел со знаком в двоичной системе счисления на n-разрядной сетке
Для двоичных чисел дополнение до основания системы счисления есть дополнение до двух (0 – 1, 1 – 0). Представление чисел со знаком называется дополнительным кодом. Для получения дополнения двоичного числа каждый его разряд инвертируется и к результату прибавляется единица.
Представление чисел со знаком в 2ой системе счисления на n-разрядной сетке.
Для двоичных чисел дополнения до основания системы счисления-это дополнение до 2(0-1). Поэтому представление чисел со знаком 1-0 называется “дополнительный код”. Для получения дополнения двоичного числа каждый его разряд инвертируется и к результату прибавляется 1.
+2->0010
-2->1101+1=1110 – это число “-2”
Это позволяет избегать ошибки +2+(-2)=4
Диапазон представления чисел с дополнительным кодом.
В
дополнительном коде старший разряд
представления всякого положительного
числа равен нулю, а для отрицательных
чисел он установлен в единицу. По аналогии
с числами в прямом коде этот разряд
обычно называют знаковым разрядом,
поскольку его анализ дает представление
о знаке двоичного числа. Однако
принципиальное отличие рассматриваемого
случая состоит в том, что этот анализ
не нужен для операций сложения и
вычитания. Необходимо лишь иметь
аппаратно реализованную логику получения
дополнительного кода. То есть для
реализации сложения и вычитания в
дополнительном коде в АЛУ необходимо
иметь сумматор и поразрядный инвертор.
Диапазон допустимых значений чисел
представляется как
.
Операции сложения и вычитания двоичных чисел в дополнительном коде реализуются простым сложением их битовых шаблонов с игнорированием единицы переноса из старшего разряда за пределы разрядной сетки. Как и в случае операций над числами без знака, эта единица не теряется, а сохраняется процессором во флаге переноса, однако теперь это не является признаком переполнения, а представляет собой регулярное правило арифметики в дополнительном коде.
