我正在创建一个C ++数字信号应用程序,它需要在运行时设置操作数的精度或大小。
我知道通常,double
和float
类型通过IEEE 754标准保证最小长度,但与int
类型一样,这些只是最小长度。
有哪些选项可用于定义可在运行时定义的可自定义长度的浮点类型?理想情况下,现有的库或类型,但我的另一个粗略的想法是使用位掩码在每次操作后删除数字的最后 n -bits。
答案 0 :(得分:0)
您是否考虑过使用union?
union S
{
std::int32_t n; // occupies 4 bytes
std::uint16_t s[2]; // occupies 4 bytes
std::uint8_t c; // occupies 1 byte
};
由于有些人无法访问引用的WebPage,请尝试以下示例:
Union S
{
Double H;
float L;
};
您将使用相同的空格,但将相应的值分配给所需的变量。
答案 1 :(得分:0)
struct Number{
int integral:4;
int decimal:6;
};