Исправлена точка для плавающей точки и назад
-
24-09-2019 - |
Вопрос
Преобразует фиксированный PT. (Исправлено N BIT для фракции), чтобы IEEE двойным сейфом?
Т.е.: IEEE двойной формат может представлять все номера фиксированной точкой может представлять?
Тест: число переходит к плавательному формату PT, а затем обратно к исходному фиксированному формату PT.
Решение
Предполагая, что ваши номера фиксированной точки хранятся в виде 32-битных целых чисел, да, двойная точность IEEE может представлять любое значение представило в фиксированной точке. Это связано с тем, что Double имеет 53-разрядную Mantissa, ваши значения фиксированных точек имеют только 32 бита точности, а показатель с плавающей точкой для значения фиксированного значения ограничен между -32 и 32 (в зависимости от того, где вы считаете двоичную точку лежать в ваших значениях фиксированной точки), которая хорошо находится в представленном диапазоне.
Другие советы
Все зависит от размера и формата вашего типа фиксированной точки. Фиксированная точка на плавающей точке безопасна, если ваш фиксированный тип имеет недостаточно нескольких битов, чтобы не стать неточным при преобразовании в поплавок. Другим образом круглый тип фиксированной точки должен был бы быть чрезвычайно длинным, потому что двойной может потенциально представлять собой очень большое значение (величину) в небольшом количестве битов.