我在C语言中遇到问题,我不允许使用浮点数,因为将要刷新的微控制器不支持该数据类型。现在,我所有的整数都应按要求四舍五入。我该如何处理?
一项简短的研究表明,使用了按位运算,例如左移和右移。我知道这些操作是什么。但是我不知道如何使用这些操作来实现我想要的。
答案 0 :(得分:1)
另一种可能性是Q number format。
如果您使用Google“ Q号格式”或其他变体,您将获得一些结果。 它经常用于C中与DSP有关的一些主题。Here另一篇博客文章解释了数字格式,here是C中q数的示例代码实现。
通常,您可以说q数表示-1到1之间的数字,而无需使用浮点算术。
答案 1 :(得分:0)
通常,微控制器没有浮点单元,所有东西都可以使用整数。但是由您自己决定要使用哪个单位作为整数。
例如:
100可以是100厘米或1,00 m
1000可能是100,0 cm或1,000 m,依此类推。
请查看说明: electronic.stackexchange