取整的四种方式
- 一.基本认识
- 二.四种取整方案
- 1.零向取整
- 2.地板取整
- 3.向右取整
- 4.四舍五入
一.基本认识
这里按理说5/2应该为2.5啊,怎么为2呢?按照我们曾经的理解,其实知道符号/其实是取整。但它究竟是如何取整呢?
二.四种取整方案
1.零向取整
我们知道,2.9在编译器里对应的是double类型,而我用Int去接收毫无疑问,2.9会变成一个整形,从上面的试验可以看出它直接舍弃掉了小数部分,这种取整方式就被叫做零向取整
从图中可以看出无论是-2.9还是2.9,它们取整方向都是向着0的方向取整的,是不是很形象啊
零向取整也是c语言中的默认取整方式
拓展
其实在c语言中有着我们专门的零向取整函数——trunc
这个函数的头文件是math.h,但它的返回值是浮点型,所以有用%f接收,当然我们可以强转成int类型,以方便我们看
2.地板取整
这个名字有点奇怪呀,其实它是根据我们的一个函数而来的—floor
这个结果挺奇怪的,说是四舍五入吧不对,说是零向取整吧也不对。其实仔细观察规律,-2.9变成-3是变小了,2.9变成2也是变小了。所以这个取整是统一向小的方向取整(就是向着地板方向取整)
3.向右取整
这同样也是来自于我们c语言的一个函数—ceil
顾名思义呢就是向大的方向取整,也就是取整后的数要大于取整前的数
4.四舍五入
这个大家都很熟悉了,还是依靠函数实现—round
很熟悉就不多说啦
例子
大家有兴趣的话可以下去打打看哟
总结:在c语言中,浮点数有很多取整方式,但默认取整方式是零向取整