Форма с фиксированной точкой 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Форма с фиксированной точкой



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

Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 битов). Например, число А2 = = 111100002 будет храниться в ячейке памяти следующим образом:

1 1 1 1 0 0 0 0

Максимальное значение целого неотрицательного числа достигается в случае, когда во всех ячейках хранятся единицы. Для n-разрядного представления оно будет равно . Диапазон изменения целых неотрицательных чисел: от 0 до 255.

Для хранения целых чисел со знаком отводится две ячейки памяти (16 битов), причем старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное - 1).

Представление в компьютере положительных чисел с использованием формата "знак-величина" называется прямым кодом числа. Например, число 200210 = 111110100102 будет представлено в 16-разрядном представлении следующим образом:

0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0

Максимальное положительное число (с учетом выделения одного разряда на знак) для целых чисел со знаком в n-разрядном представлении равно .

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

Форма с плавающей точкой

Арифметические операции

· Сложение и вычитание: сначала производится выравнивание порядков (меньший по модулю порядок числа увеличивается до величины большего, а мантисса уменьшается в такое же количество порядков), а затем происходит сложение и вычитание мантисс.

· Умножение: порядки складываются, мантиссы перемножаются.

· Деление: из порядка делимого вычитается порядок делителя, а мантисса делится на мантиссу делителя.

В конце арифметических действий производится нормализация результата.

Стандарт IEEE 754

IEEE 754 — широко распространённый стандарт, описывающий формат представления чисел с плавающей точкой. Используется в программных и аппаратных реализациях арифметических. Форматы стандарта:

· Число половинной точности (разрядная сетка 2 байта)

· Число одинарной точности (разрядная сетка 4 байта)

· Число двойной точности (разрядная сетка 8 байт)

· Число четверной точности (разрядная сетка 16 байт)

Представление мантиссы

В записи числа используется нормализованная мантисса. Но реализация нормализации отличается от общей идеи. Дело в том, что в традиционном нормализованном числе единица в старшем бите мантиссы есть всегда. Следовательно, ее можно не сохранять, но «подразумевать». Поэтому стандарт определяет мантиссу следующим образом: она состоит из неявного бита, который всегда равен 1, двоичной точки и остальных разрядов. Получается, что мантисса охватывает диапазон чисел [1, 2). Мантисса представляется в прямом коде.

При выполнении арифметических операций с мантиссами не забывать про мнимые единицы!

Представление порядка

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

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

Одна комбинация резервируется для специальных нужд.



Поделиться:


Последнее изменение этой страницы: 2019-08-19; просмотров: 118; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.140.198.173 (0.004 с.)