Linux kernel 内核模块的划分

Linux kernel 内核模块的划分,linux-kernel,kernel,Linux Kernel,Kernel,我有两个整数变量,我需要将它们除以,以计算出某个东西的百分比。我有(变量A/变量B)*100。问题是(variablea/variableb)将介于0和1之间,因此它将四舍五入为0,因为它是一个整数。如何舍入它,使答案不总是0?尝试(variablea*100)/variableb 这将截断结果。如果你比较接近整数百分比,你可以做(variablea*100+variableb/2)/variableb 最后,如果您想获得更多的小数位数,可以使用常数来代替100,例如1000或10000(请记住

我有两个整数变量,我需要将它们除以,以计算出某个东西的百分比。我有(变量A/变量B)*100。问题是(variablea/variableb)将介于0和1之间,因此它将四舍五入为0,因为它是一个整数。如何舍入它,使答案不总是0?

尝试
(variablea*100)/variableb

这将截断结果。如果你比较接近整数百分比,你可以做
(variablea*100+variableb/2)/variableb


最后,如果您想获得更多的小数位数,可以使用常数来代替
100
,例如
1000
10000
(请记住在打印时正确设置数字格式,即按
10
100
缩放).

甚至
variablea*10000/variableb
并将结果视为100倍的百分比。例如,如果显示它,
printf(“结果是%d.%02d%”,结果/100,结果%100)