大家好,欢迎来到IT知识分享网。
一.基本认识
这里按理说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语言中,浮点数有很多取整方式,但默认取整方式是零向取整
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/127727.html