rengran 发表于 2023-12-11 16:50:21

C语言代码实现四舍五入的方法,不用C语言标准库中的库函数

本帖最后由 rengran 于 2023-12-11 18:31 编辑

1、 在C语言中,两个整数相除,如果不能整除,那么余数就会被舍弃。但是有时候为了能达到更高的准确度,需要进行四舍五入,保证误差不会那么大。比如100/99,如果不采用四舍五入,误差是99;而采用了四舍五入的话,误差就是1,那么更好的方式就是选择四舍五入。2、 采用标准库函数来实现四舍五入,是可以的。其实不采用库函数,用简单的算数表达式就可以实现。假设被除数A和除数B都是整数,那么四舍五入的结果=(A±K)/B,其中K=B/2,当B不能被2整除时,K等于B/2的整数部分;如果A为负数,就是A-K,A为整数就用A+K。例如:87作为被除数,6和11分别为除数; 87/6 =14.5,单片机最后的结果是14,将小数部分舍去了。(87+3)/6 =15,单片机最后的结果是15, 舍去小数部分,实现了四舍五入功能;87/11 ≈ 7.9090909,单片机最后的结果是7,将小数部分舍去了;(87+5)/11≈ 8.363636 单片机最后的结果是8,舍去小数部分,实现了四舍五入功能;红颜色的数字表示除数,绿色的数字表示(除数/2) 以后的整数部分,

_奶咖君_ 发表于 2023-12-11 17:22:22

正整数有了,,负数呢{:4_165:}

rengran 发表于 2023-12-11 18:29:28

cofmilk 发表于 2023-12-11 17:22
正整数有了,,负数呢

负数那得用减法了
页: [1]
查看完整版本: C语言代码实现四舍五入的方法,不用C语言标准库中的库函数