提示:文章
前言
前期疑问:
本文目标:
一、背景
今天看代码看到了round函数,出于理解代码的原则我又查了下,还是有收获的。
二、相关函数
2.1 round
函数原型
double round(double x);
在C语言中,round()函数用于四舍五入到最接近的整数。例如,round(1.4999)
将返回1,而round(1.5)
将返回2。
2.1.1 相似函数
与之对应的是floor向下取整和向上取整ceil。这边也记一下floor和ceil函数
floor
原型
double floor(doube x);
功能:把一个小数向下取整 即就是如果数是2.2 ,那向下取整的结果就为2.000000
ceil
函数原型
double ceil(doube x);
功能:把一个小数向上取整 即就是如果数是2.2 ,那向上取整的结果就为3.000000
这边我就疑惑这三个函数有什么区别。主要就是向上取整ceil和round有什么区别?比如2.7向上取整是3,floor(2.7)也是3。
答案:区别就在于,ceil(2.7)和floor(2.7)结果都是3。但是区别在于ceil(2.2)结果是3,floor(2.2)的结果是2。
参考文章C语言(C++)中:详解floor函数、ceil函数和round函数
2.1.2 总结
上面三个函数共同点都是参数和返回值类型都是double。
2.2 pow函数
联系上自己之前写的文章pow()函数结果强制转化为int造成误差的分析
总结
未完待续