取整的四种方式

取整的四种方式

    • 一.基本认识
    • 二.四种取整方案
      • 1.零向取整
      • 2.地板取整
      • 3.向右取整
      • 4.四舍五入

一.基本认识

取整的四种方式_第1张图片

这里按理说5/2应该为2.5啊,怎么为2呢?按照我们曾经的理解,其实知道符号/其实是取整。但它究竟是如何取整呢?

二.四种取整方案

1.零向取整

取整的四种方式_第2张图片

我们知道,2.9在编译器里对应的是double类型,而我用Int去接收毫无疑问,2.9会变成一个整形,从上面的试验可以看出它直接舍弃掉了小数部分,这种取整方式就被叫做零向取整

取整的四种方式_第3张图片

从图中可以看出无论是-2.9还是2.9,它们取整方向都是向着0的方向取整的,是不是很形象啊

零向取整也是c语言中的默认取整方式

拓展

其实在c语言中有着我们专门的零向取整函数——trunc

取整的四种方式_第4张图片

取整的四种方式_第5张图片

这个函数的头文件是math.h,但它的返回值是浮点型,所以有用%f接收,当然我们可以强转成int类型,以方便我们看

2.地板取整

这个名字有点奇怪呀,其实它是根据我们的一个函数而来的—floor

取整的四种方式_第6张图片在这里插入图片描述

取整的四种方式_第7张图片

这个结果挺奇怪的,说是四舍五入吧不对,说是零向取整吧也不对。其实仔细观察规律,-2.9变成-3是变小了,2.9变成2也是变小了。所以这个取整是统一向小的方向取整(就是向着地板方向取整)

取整的四种方式_第8张图片

3.向右取整

这同样也是来自于我们c语言的一个函数—ceil

取整的四种方式_第9张图片在这里插入图片描述

取整的四种方式_第10张图片

顾名思义呢就是向大的方向取整,也就是取整后的数要大于取整前的数

取整的四种方式_第11张图片

4.四舍五入

这个大家都很熟悉了,还是依靠函数实现—round

取整的四种方式_第12张图片

很熟悉就不多说啦

例子
取整的四种方式_第13张图片取整的四种方式_第14张图片

大家有兴趣的话可以下去打打看哟

总结:在c语言中,浮点数有很多取整方式,但默认取整方式是零向取整

取整的四种方式_第15张图片

你可能感兴趣的:(#,初识c语言,c语言,开发语言)