Фиксированная точка

Фиксированная точка

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

x = x' \cdot z,

где z — цена младшего разряда.

Простейший пример арифметики с фиксированной запятой — перевод рублей в копейки. В таком случае, чтобы запомнить сумму 12 рублей 34 копейки, мы записываем в ячейку памяти число 1234.

В случае, если z < 1, для удобства расчётов делают, чтобы целые числа кодировались без погрешности. Другими словами, выбирают целое число u (машинную единицу) и принимают z = \frac 1 u. В случае, если z > 1, его делают целым.

Если не требуется, чтобы какие-либо конкретные дробные числа входили в разрядную сетку, программисты обычно выбирают z = 2 f это позволяет использовать в операциях умножения и деления битовые сдвиги. Про такую арифметику говорят: «f битов на дробную часть, i=n−f — на целую» и обозначают как «i,f» или «i.f» Например: арифметика 8,24 отводит на целую часть 8 битов и 24 — на дробную. Соответственно, она способна хранить числа от −128 до 128−z с ценой младшего разряда z = 2^{-24} = 5{,}96 \cdot 10^{-8}.

Для угловых величин зачастую делают z=2 \pi \cdot 2^{-f} (особенно если тригонометрические функции вычисляются по таблице).

Содержание

Название

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

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

Применение

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

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

Операции

  • Сложение и вычитание чисел с фиксированной запятой — это обычные сложение и вычитание: (x \pm y)' = x' \pm y' \,.
  • Умножение и деление отличаются от целочисленных на константу.
    (x \cdot y)' = \left[ x' \cdot y' \cdot z \right] = \left[ \frac {x' \cdot y'} u \right]
    \left(\frac x y \right)' = \left[ \frac {x'} {z \cdot y'} \right] = \left[ \frac {x' \cdot u} {y'} \right] ,
    где [] — операция округления до целого. В частности, если в дробной части f бит:
    
   (x \cdot y)' = (x' \cdot y') \, \operatorname{shr} \, f, \,\,\,\,
   \left(\frac x y \right)' = \frac {x' \, \operatorname{shl} \, f} {y'}
  .
  • Для других операций, помимо обычных рядов Тейлора и итерационных методов, широко применяются вычисления по таблице.

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

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

Примечания


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


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

  • фиксированная точка — фиксированная запятая — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы фиксированная запятая EN fixed pointfxp …   Справочник технического переводчика

  • фиксированная точка станка — фиксированная точка Точка, определенная относительно нулевой точки станка и используемая для определения положения рабочего органа станка. [ГОСТ 20523 80] Тематики числовое программное управление Синонимы фиксированная точка …   Справочник технического переводчика

  • Точка сборки — (англ. assemblage point)  одно из основополагающих понятий, использованное мыслителем эзотерической ориентации и мистиком Карлосом Кастанедой в своих книгах. Одной из самых драматических черт человеческой природы является ужасная связь между …   Википедия

  • Точка контрольная — фиксированная точка на продольном профиле, через которую должна быть проложена проектная линия. Источник: Справочник дорожных терминов …   Строительный словарь

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

  • точка — 4.8 точка (pixel): Минимальный элемент матрицы изображения, расположенный на пересечении п строки и т столбца, где п горизонтальная компонента (строка), т вертикальная компонента (столбец). Источник …   Словарь-справочник терминов нормативно-технической документации

  • точка использования — 2.28 точка использования (point of use): Физическая фиксированная граница, где обычно потребитель (2.50) забирает воду для использования. Примеры Кран, питьевой фонтанчик общего доступа. Примечание 1 Точка использования может находиться в частной …   Словарь-справочник терминов нормативно-технической документации

  • точка доставки — 2.26 точка доставки (point of delivery) (питьевой воды): Физическая фиксированная граница, ниже которой по направлению потока система коммунального водоснабжения (2.53) не несет общей юридической ответственности за услугу (2.44)или инфраструктуру …   Словарь-справочник терминов нормативно-технической документации

  • точка сбора — 2.25 точка сбора (point of collection) (сточных вод): Физическая фиксированная граница, выше которой по направлению потока система коммунального водоснабжения (2.53) не несет общей юридической ответственности за услугу (2.44)или инфраструктуру (2 …   Словарь-справочник терминов нормативно-технической документации

  • точка сброса — 2.27 точка сброса (point of discharge): Физическая фиксированная граница, где обычно происходит сброс сточных вод (2.51) потребителем (2.50) для сбора и удаления. Примеры Раковина, унитаз. Источник …   Словарь-справочник терминов нормативно-технической документации


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»