我正在尝试将双精度类型转换为固定类型表示。根据选择的输入,我的原始值可以是例如 0.00996、989.15、1600.25、89.72 等。这里的要点是我所有的输入值总是正数,但小数点之前(和之后)的位数可能会有所不同。我正在尝试通过适当的缩放将这些双精度类型转换为定点表示。我尝试了 2.14 缩放(乘以 16,384),但不确定如何将其扩展到小数位前可变位数的情况。另外,我怎样才能最好地确保转换值的最大准确性/精度?任何帮助将不胜感激。谢谢你。
我正在使用的代码:
fixedScale = (int) Math.Pow(2.0, 64.0);
int new_val = (int) (fixedScale * value);