区分各种Qx定点类型?

时间:2017-06-19 07:35:13

标签: c signal-processing fixed-point

如何区分代码中的各种Qx定点类型?

这样的事情是否可以接受:

typedef int32_t q31;
typedef int32_t q25;
typedef int32_t q23;
typedef int32_t q15;

然后(用法示例):

q23 x;
q23 y;
q31 out;
.
.
.    
out = do_something_input_q23s_output_q31(x,y);
// etc.

上面的typedef有意义吗?什么是最合适的解决方案?

1 个答案:

答案 0 :(得分:0)

您可以将每个定点整数包装在结构中,这将使编译器强制使用该类型。我不知道这会如何影响性能。

我想您可以使用预处理器魔术来将实现切换为裸int以便发布。