Число с фиксированной запятой


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

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

Если не требуется, чтобы какие-либо конкретные дробные числа входили в разрядную сетку, программисты обычно выбирают это позволяет использовать в операциях умножения и деления битовые сдвиги. Про такую арифметику говорят: «f битов на дробную часть, i=n−f — на целую» и обозначают как «i,f», «i.f» или «Qi.f» (см. числовой формат Q[англ.]). Например: арифметика 8,24 отводит на целую часть 8 бит и 24 — на дробную. Соответственно, она способна хранить числа от −128 до 128−z с ценой (весом) младшего разряда .

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

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

В Великобритании, США и других странах вместо запятой для отделения целой части числа от дробной используется точка, поэтому понятия «фиксированная точка» и «фиксированная запятая» эквивалентны.