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

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

Глава 13. Типы и форматы операндов

Машинные команды оперируют данными, которые принято назы­вать операндами. К наиболее общим (базовым) типам операндов можно отнести:

Для каждого типа данных в компьютере предусмотрены опреде­ленные форматы.

Числовая информация

Среди цифровых данных можно выделить две группы:

— целые типы, используемые для представления целых чисел;

— вещественные типы для представления рациональных чисел.

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

Числа в форме с фиксированной точкой

Представление числа X в форме с фиксированной точкой (ФТ), которую иногда называют также естественной формой, включает в себя знак числа и его модуль в q-ичном коде. Здесь q — основание системы счисления или база. Для современных компьютеров характерна двоичная система (q=2), но существовали также восьмерич­ная (q=8) или шестнадцатеричная (q=16) системы счисления. Знак положительного числа кодируется двоичной цифрой 0, а знак отрицательно­го числа — цифрой 1.

Числам с фиксированной точкой соответствует запись вида X = ±an-1…aa-1a-2…ar. Отрицатель­ные числа обычно представляются в дополнительном коде. Разряд кода числа, в ко­тором размещается знак, называется знаковым разрядом кода. Разряды, где располагаются значащие цифры числа, называются цифровыми разрядами кода. Знаковый разряд размещается левее старшего цифрового разряда. Положение точки оди­наково для всех чисел и в процессе решения задачи не меняется. Хотя точка и фик­сируется, в коде числа она никак не выделяется, а только подразумевается.

В об­щем случае разрядная сетка для размещения чисел в форме с фиксированной точкой имеет вид, представленный на рис. 14.1, где k разрядов используются для записи целой части числа и r разрядов — для дробной части.

Номер разряда k-1 k-2 r r-1
Вес разряда 2 k-1 2 k-2 2 0 2 -1 … 2 -2 2 -r
Целая часть Дробная часть

Рис. 14.1. Формат представления чисел с фиксированной точкой

Если число является смешанным (содержит целую и дробную части), оно обрабатываются как целое, хотя и не является таковым (в этом случае применяют тер­мин масштабируемое целое). Обработка смешанных чисел в компьютерах встречается крайне редко. Как правило, используются компьютеры с дробной (n = 0) либо целочисленной (r=0) арифметикой.

При фиксации точки перед старшим цифровым разрядом (рис. 14.2) могут быть представлены только правильные дроби. Для ненулевых чисел возможны два варианта представления (нулевому значению соответствуют нули во всех разря­дах): знаковое и беззнаковое. Фиксация точки перед старшим разрядом в настоящее время практически не встречается.

При фиксации точки после младшего разряда представимы лишь целые чис­ла. Это наиболее распространенный способ, поэтому в дальнейшем понятие чисел в формате с фиксированной точкой будет связываться исключительно с целыми числами, а операции с числами в формате с фиксированной точкой будут характеризоваться как целочисленные. Форматы целых чисел со знаком и без знака представлены на рис. 14.2 и 14.3.

Читайте также:  Как переводить с английского на русский самому
Номер разряда n-1 n-2 n-3
Вес разряда 2 n-1 2 n-2 2 n-3 2 2 2 1 2 0
Диапазон значений 0 n — 1

Рис. 14.2. Представление целых чисел без знака в формате с фиксированной точкой

Номер разряда n-1 n-2 n-3
Вес разряда знак 2 n-2 2 n-3 2 2 2 1 2 0
Диапазон значений -2 n-1 n-1 — 1

Рис. 14.3. Представление целых чисел со знаком в формате с фиксированной точкой

Целые числа применяются также для работы с адресами. Адреса обрабатываются как целые числа без знака.

Диапазон представления 32-разрядных целых чисел со знаком составляет все целые числа от -2 31 до 2 31 – 1, то есть всего 2 32 различных чисел.

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

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 9217 — | 7813 — или читать все.

Название «фиксированная запятая» произошло из-за простой метафоры: между двумя заранее определёнными разрядами ставится запятая, превращая, например, целое число 1234 в дробное 12,34.

Иногда говорят «фиксированная точка» (англ. fixed-point representation ): в английской традиции целая часть от дробной отделяется точкой.

Применение

  • Для ускорения вычислений в местах, где не требуется высокая точность. В большинстве современных процессоров ФЗ аппаратно не реализована, но даже программная ФЗ очень быстра — поэтому она применяется в разного рода игровых движках, растеризаторах [1] и т. д. Например, движок Doom для измерения расстояний использует фиксированную запятую 16,16, для измерения углов — 360°=65536.
  • Чтобы обеспечить минимальную поддержку дробных чисел на целочисленном процессоре — микроконтроллера, мобильного телефона, приставок вплоть до Playstation и т. д. Если не решаются некорректные задачи и СЛАУ высокого порядка, фиксированной запятой зачастую достаточно — важно только подобрать подходящую цену младшего разряда для каждой из величин.
  • Для записи чисел, которые по своей природе имеют постоянную абсолютную погрешность: координаты в программах вёрстки, денежные суммы.
  • Кроме того, фиксированная запятая ведёт себя абсолютно предсказуемо — при подсчёте денег это позволяет наладить разные виды округления, а в играх — наиболее простой способ реализовать мультиплеер и запись повторов.

Недостаток фиксированной запятой — очень узкий диапазон чисел, с угрозой переполнения на одном конце диапазона и потерей точности вычислений на другом. Эта проблема и привела к изобретению плавающей запятой. Например: если нужна точность в 3 значащих цифры, 4-байтовая фиксированная запятая даёт диапазон в 6 порядков (то есть, разница приблизительно 10 6 между самым большим и самым маленьким числом), 4-байтовое число одинарной точности — в 70 порядков.

Читайте также:  Форумы и чаты в интернет

Операции

  • Сложение и вычитание чисел с фиксированной запятой — это обычные сложение и вычитание: .
  • Умножение и деление отличаются от целочисленных на константу. , где [] — операция округления до целого. В частности, если в дробной части f бит: .
  • Для других операций, помимо обычных рядов Тейлора и итерационных методов, широко применяются вычисления по таблице.

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

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

Примечания

Wikimedia Foundation . 2010 .

Смотреть что такое "Числа с фиксированной точкой" в других словарях:

Числа с плавающей точкой — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… … Википедия

Числа с плавающей запятой — Плавающая запятая форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее… … Википедия

Число с фиксированной запятой — Число с фиксированной запятой формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой , где z цена (вес) младшего разряда. Простейший… … Википедия

Фиксированная запятая — Число с фиксированной запятой формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой , где z цена (вес) младшего разряда. Простейший… … Википедия

Фиксированная точка — Число с фиксированной запятой формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой , где z цена младшего разряда. Простейший пример арифметики с… … Википедия

Число с плавающей запятой — Число с плавающей запятой форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную.… … Википедия

Запятая плавающая — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… … Википедия

Машинный эпсилон — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… … Википедия

Читайте также:  Почему видео идет рывками в интернете

Плавающая запятая — форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто используемое представление… … Википедия

Плавающая точка — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… … Википедия

Числа с фиксированной запятой имеют целую и дробную части. Как и в других двоичных представлениях, общее число бит, используемых для представления числа с фиксированной запятой, является частью его формата. Кроме того, фиксируется позиция запятой (radix point — запятая [1] ), отделяющей целую часть от дробной. Приведенное ниже представление является 16-битным числом с фиксированной запятой. Запятая этого числа располагается слева от пятого бита, если биты считать справа. Десятичное значение этого числа равно 971.78125.

Формат с фиксированной запятой ограничивает точность представления числовых значений. Формат с плавающей запятой позволяет увеличить ее. Число с плавающей запятой в заданной системе счисления имеет мантиссу (Mantissa), экспоненту (Exponent) и знак (Sign). Значение числа зависит от его знака, мантиссы, основания системы счисления (Radix) и экспоненты в соответствии со следующим выражением:

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

Основание системы счисления числа с плавающей запятой всегда имеет значение 2 и явно не определяется. Экспонента имеет п бит и является знаковым числом, которое получается сложением реального значения экспоненты с числом 2" ‘-1. Например, при 8-битной экспоненте к реальному значению прибавляется 127. Пример представления экспоненты -6 в 8 битах показан ниже:

Если во всех разрядах экспоненты стоят нули, все число считается равным О, а если единицы — то бесконечности.

Для унификации цифровых систем, работающих с числами с плавающей запятой, 1ЕЕЕ [3] установил два стандартных формата: 32-битный формат одинарной точности и 64-битный формат удвоенной точности. Эти форматы показаны на рис. 2.1. 32-битный формат имеет знаковый бит, 8-битную экспоненту и 23-битную мантиссу, а 64-битный формат имеет знаковый бит, 11-битную экспоненту и 52-битную мантиссу.

Рис. 2.1. IEEE-форматы чисел с плавающей запятой

Ссылка на основную публикацию
Уроки нлп для начинающих
Если вы хотя бы немного интересуетесь психологией, то о нейролингвистическом программировании (НЛП), наверное, тоже слышали. В статье мы постараемся объяснить...
Технология etth что это
ETTH — Ethernet To The Home (ETTH) is a specific application of Fiber to the premises (FTTP) that first emerged...
Технология nfc в наушниках что это
NFC — это аббревиатура от английского Near Field Communication. С помощью этой технологии становится возможным обмен данными между различными устройствами,...
Уроки ворд 2010 для начинающих
Microsoft Office 2010 — бесплатные обучающие уроки для чайников с нуля. Получите необходимые навыки профессиональной работы с пакетом Microsoft Office...
Adblock detector