【发布时间】:2016-11-03 23:25:54
【问题描述】:
我正在创建一个 C++ 数字信号应用程序,它需要在运行时设置操作数的精度或大小。
我知道,通常情况下,double 和 float 类型由 IEEE 754 标准保证最小长度,但是与 int 类型一样,这些只是最小长度。
有哪些选项可用于定义可自定义长度的浮点类型,并在运行时定义?理想情况下,现有库或类型,但我的另一个粗略想法是使用位掩码在每次操作后删除数字的最后 n 位。
【问题讨论】:
-
我怀疑你误解了什么。没有通用的方法可以在运行时设置浮点操作数的大小。正如您所建议的那样,屏蔽额外的位会使事情变得非常缓慢,这是数字信号处理中的诅咒。
-
将
int与分子和分母一起使用? -
IEEE 754 定义了几个 exact 大小。您正在寻找一个离题的外部库。
-
@EJP 我正在寻找任何有效的方法来满足我的要求,可以是标准库或下面讨论的方法
标签: c++ floating-point bit-manipulation precision