Фиксированная точка с плавающей точкой и обратно - PullRequest
0 голосов
/ 04 апреля 2010

Преобразует Фиксированный Pt. (фиксированный n бит для дробной части) в IEEE двойной сейф?

т.е.: может ли двойной формат IEEE представлять все числа, которые может представлять фиксированная точка?

Тест: число переходит в плавающий формат pt, а затем возвращается в исходный фиксированный формат pt.

Ответы [ 2 ]

4 голосов
/ 27 октября 2010

Предполагая, что ваши числа с фиксированной точкой сохраняются в виде 32-разрядных целых чисел, да, двойная точность IEEE может представлять любое значение, представимое в фиксированной точке. Это связано с тем, что double имеет 53-битную мантиссу, ваши значения с фиксированной точкой имеют точность только 32 бита, а показатель с плавающей точкой для значения с фиксированной точкой ограничен от -32 до 32 (в зависимости от того, где вы рассматриваете двоичную точку лежать в ваших фиксированных значениях), что находится в пределах представимого диапазона.

1 голос
/ 04 апреля 2010

Все зависит от размера и формата вашего фиксированного типа. Фиксированная точка с плавающей точкой безопасна, если ваш фиксированный тип имеет достаточно мало битов, чтобы не стать неточными при преобразовании в плавающее. Обратный путь к вашему типу с фиксированной точкой должен быть очень длинным, потому что double может потенциально представлять очень большое значение (по амплитуде) в небольшом количестве битов.

...