Если у вас есть двоичное число с плавающей точкой, которое не является константой, невозможно преобразовать его в целое число в [0,1000]
без фактического выполнения умножения и интегрального преобразования.
Попробуйте выполнить двоичную арифметику на бумаге. Масштабирование Base-10 не работает до смены или чего-то особенного ... это просто общая операция масштабирования.
Поскольку число находится в диапазоне [0,1]
, рассмотрите возможность выполнения всей арифметики в фиксированной точке, возможно, используя 1/1024 в качестве единицы или даже в десятичной дроби с фиксированной точкой с 1/1000 в качестве единицы.
Вы должны использовать математику с плавающей точкой, только если вам нужно больше точности ближе к нулю.