linux内核模块中的浮点运算(再次)

时间:2017-06-14 07:02:59

标签: linux-kernel floating-point fpu

我在StackOverflow中搜索了很多其他问题,但没有一个能真正解决我的问题。

我正在编写一个linux内核模块,我需要通过将整数除以另一个整数来计算百分比值,以获得介于0和100之间的浮点值:

int v1 = 5;
int v2 = 25;
float perc = v1 / v2;

由于我们已经知道的所有原因,当我尝试编译它时,我得到" SSE寄存器返回SSE禁用"错误。

是否有解决方法在Linux内核模块中计算此类划分?

非常感谢你。 安东尼奥

1 个答案:

答案 0 :(得分:6)

您可以使用整数运算,例如

int perc = 100 * v1 / v2;

这将给出整数百分比。如果您需要高于1%的分辨率,则使用大于100的比例因子并根据需要插入小数点以用于显示。