Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: масштабирование чисел
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
dsp
подскажите пожалуйста как происходит масштабирование целого числа с плавающей точкой в дробное с фиксированной
Танцующий
IMHO:
314E-2=314/100; 314E3=314*1000
i.e. делением/умножением (или как частный случай - сдвигами)
bve
Цитата(dsp @ Aug 2 2005, 12:57)
подскажите пожалуйста как происходит масштабирование целого числа с плавающей точкой в дробное с фиксированной
*

Фиксированная точка - понятие относительное. Ее Вы размещаете там, где Вам надо.
При этом у Вас определяется диапазон допустимых значений, например: Пусть ваши числа - 16-тиразрядные. Положим, что старший разряд - знаковый, фиксированная точка размещается между 15-м ( считаем с нуля ) разрядом и 14-м. Тогда чисел, больших 1 Вам не получить.=> младший разряд будет иметь вес 1/2**15.
Поделив Ваши числа на этот вес , Вы получите искомое представление.
У чисел с плавающей точкой тоже есть цена младшего разряда мантиссы. Она задана аналогично вышесказанному. Соответственно, число в плавающей точке можно преобразовать в фиксированную, если домножить на отношение весов младших разрядов.
Eugeno
Самый быстрый способ - плавающее число "распотрашивается" на мантису и экспаненту (в С есть соответствующие функции для float и double). Далее происходит сдвиг мантисы на значение, зависящее от экспаненты и положения фиксированной точки. Всё.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.