Фиксированная запятая | это... Что такое Фиксированная запятая? (original) (raw)

Число с фиксированной запятой — формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число 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): в английской традиции целая часть от дробной отделяется точкой.

Применение

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

Реализации

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

Числа с фиксированной запятой в формате BCD часто используются для хранения денежных величин — неточности от форматов с плавающей запятой недопустимы, а простеньким микроконтроллерам платёжных терминалов BCD предпочтительнее двоичного представления. Исторически, числа с фиксированной точкой часто использовались для десятичных типов данных, например в языках PL/I и COBOL. Язык программирования Ada включал встроенную поддержку чисел с фиксированной запятой (как двоичных, так и десятичных) и чисел с плавающей запятой. JOVIAL и Coral 66 также предоставляли оба формата.

Стандант ISO/IEC TR 18037 описывает поддержку чисел с фиксированной запятой для языка Си. Данная поддержка реализована в компиляторе GCC[2], производители других компиляторов реализуют поддержку этих расширений позже.

Практически все СУБД и язык SQL поддерживают арифметику с фиксированной запятой и хранение таких данных. Например, PostgreSQL имеет специальный численный тип для точного хранения чисел до 1000 цифр.

Видео-сопроцессоры приставок PlayStation (Sony), Saturn (Sega), Game Boy Advance (Nintendo), Nintendo DS, GP2X используют арифметику с фиксированной запятой для того, чтобы увеличить пропускную способность на архитектурах без FPU.

Стандарт OpenGL ES 1.x включает поддержку чисел с фиксированной запятой, так как он создан для встраиваемых (embedded) систем, у которых часто нет FPU.

Операции

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

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

Примечания

  1. Числа с фиксированной точкой. Применение в компьютерной графике
  2. Fixed-Point — Using the GNU Compiler Collection (GCC)
Категории: Компьютерная арифметикаДискретная математикаМатематические основы компьютерной графикиТипы данных Wikimedia Foundation.2010. Игры ⚽ Поможем сделать НИР Мотив (литература) Радиоактивные препараты Полезное Смотреть что такое "Фиксированная запятая" в других словарях: фиксированная запятая — (способ вычисления на ЭВМ) [http://slovarionline.ru/anglo russkiy slovar neftegazovoy promyishlennosti/] Тематики нефтегазовая промышленность EN fixed point … Справочник технического переводчика фиксированная точка — фиксированная запятая — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы фиксированная запятая EN fixed pointfxp … Справочник технического переводчика Фиксированная точка — Число с фиксированной запятой формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой , где z цена младшего разряда. Простейший пример арифметики с… … Википедия Запятая плавающая — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… … Википедия ЗАПЯТАЯ — (1) плавающая форма представления чисел в цифровой вычислительной машине с переменным положением З. , отделяющей целую часть числа от дробной. В этом случае машина оперирует только с числами в пределах интервала ( 1, +1). Плавающая З. позволяет… … Большая политехническая энциклопедия Запятая фиксированная — форма представления чисел в ЦВМ с постоянным положением запятой, отделяющей целую часть числа от дробной. З. ф. соответствует естественной форме представления чисел. Запятая может быть зафиксирована в любом месте числа, например… … Большая советская энциклопедия Запятая плавающая — форма представления чисел в ЦВМ с переменным положением запятой, отделяющей целую часть числа от дробной. З. п. соответствует нормальной или полулогарифмической форме представления чисел. Например, числа 5671,31 (десятичное) и 1101,1… … Большая советская энциклопедия Плавающая запятая — форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто используемое представление… … Википедия Числа с фиксированной точкой — Число с фиксированной запятой формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой , где z цена младшего разряда. Простейший пример арифметики с… … Википедия Число с фиксированной запятой — Число с фиксированной запятой формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой , где z цена (вес) младшего разряда. Простейший… … Википедия 18+ © Академик, 2000-2025 Обратная связь:Техподдержка,Реклама на сайте 👣 Путешествия Экспорт словарей на сайты, сделанные на PHP, Joomla, Drupal, WordPress, MODx. Пометить текст и поделиться Искать во всех словарях Искать в переводах Искать в Интернете Поделиться ссылкой на выделенное