|
|
Компьютеры - Фиксированная запятая - Название22 января 2011
Оглавление: 1. Фиксированная запятая 2. Название 3. Реализации 4. Операции
Название «фиксированная запятая» произошло из-за простой метафоры: между двумя заранее определёнными разрядами ставится запятая, превращая, например, целое число 1234 в дробное 12,34.
Иногда говорят «фиксированная точка»: в английской традиции целая часть от дробной отделяется точкой.
Применение
- Для ускорения вычислений в местах, где не требуется высокая точность. В большинстве современных процессоров ФЗ аппаратно не реализована, но даже программная ФЗ очень быстра поэтому она применяется в разного рода игровых движках, растеризаторах и т. д. Например, движок Doom для измерения расстояний использует фиксированную запятую 16,16, для измерения углов 360°=65536.
- Чтобы обеспечить минимальную поддержку дробных чисел на целочисленном процессоре микроконтроллера, мобильного телефона, приставок вплоть до Playstation и т. д. Если не решаются некорректные задачи и СЛАУ высокого порядка, фиксированной запятой зачастую достаточно важно только подобрать подходящую цену младшего разряда для каждой из величин.
- Для записи чисел, которые по своей природе имеют постоянную абсолютную погрешность: координаты в программах вёрстки, денежные суммы. Например, файлы метрики шрифтов TeX используют 32-битный знаковый тип с фиксированной запятой.
- Кроме того, фиксированная запятая ведёт себя абсолютно предсказуемо при подсчёте денег это позволяет наладить разные виды округления, а в играх наиболее простой способ реализовать мультиплеер и запись повторов.
Недостаток фиксированной запятой очень узкий диапазон чисел, с угрозой переполнения на одном конце диапазона и потерей точности вычислений на другом. Эта проблема и привела к изобретению плавающей запятой. Например: если нужна точность в 3 значащих цифры, 4-байтовая фиксированная запятая даёт диапазон в 6 порядков, 4-байтовое число одинарной точности в 70 порядков.
Просмотров: 3784
|