是否有任何方法、代码片段或库不使用浮点数来执行简单的计算(乘法、除法、和、减)?
我在8位单片机上用C语言编写,没有浮点单元,所以浮点运算非常长。我想把我所有的浮点计算转换成整数。
我可以允许在初始化时进行浮点计算,例如从浮点系数计算整数系数。
发布于 2022-11-18 14:07:02
使用一个或两个数字作为小数部分来缩放整数。例如,345可以解释为3.45。所有的算术(几乎)都完全一样。
示例:
int mult(int a, int b)
{
long long result = ((long long)a * b) / 100;
if(result > INT_MAX || result < INT_MIN) { /* do something */}
return result;
}
int divide(int a, int b)
{
return b ? ((long long)a * 100) / b : 0;
}
int main(void)
{
int result = divide(500, 3000);
printf("%d.%d\n", result / 100, result % 100);
}https://stackoverflow.com/questions/74490805
复制相似问题