深度理解 取整的概念

  • 关于取整的介绍
  • 向零取整
    • trunc()函数----向0取整
  • 向负无穷大取整
    • floor()函数
  • 向正无穷大取整
    • ceil()函数
  • 四舍五入取整
    • round()函数
  • 总结

关于取整的介绍

 在数学中取整方法通常是“四舍五入”,但是在我们编程语言中的取整方法却大有不同。大部分学C语言的人可能都简单的认为取整仅仅是去掉后面的小数部分,其实不然。不同的编程语言默认的取整方式不同。这篇文章我们主要利用C语言来深度理解一下编程语言当中的各种取整方法。

向零取整

     在C语言中,默认的取整方式是向0取整。这是大部分初学者都熟悉的取整方法。

就是往逼近0的方向进行取整。

int a =2.9;
int b = -2.9;
printf("%d %d",a,b);//2 -2

trunc()函数----向0取整

这个trunc()函数虽然返回值是浮点数,但是它采用的取整方法 就是我们C语言默认的 向0取整

printf("%d",(int)trunc(2.9));//结果为2

向负无穷大取整


向负无穷大取整,既往数值更小的方向进行取整。

floor()函数

floor() 字面意思是地板,放在这里就是更小的意思。
它的返回值也是浮点数。
来看代码:

printf("%lf\n",floor(-2.9));//结果是-3.000000
printf("%lf\n", floor(2.9));//结果是2.000000

向正无穷大取整


向正无穷大取整,既往数值更大的方向进行取整。

ceil()函数

ceil(),字面意思天花板,放在这里就是更大的意思。
它的返回值也是浮点数。
来看代码:

printf("%lf\n",ceil(-2.9));//结果是-2.000000
printf("%lf\n", ceil(2.9));//结果是3.000000

四舍五入取整

round()函数

四舍五入取整,就是我们在数学上最常见的一种取整。
直接看代码:

printf("%lf\n",round(-2.4));//结果是-2.000000
printf("%lf\n", round(-2.5));//结果是-3.000000

总结

如果一个数是正数的话,那么它向0取整和向负无穷大反向取整,得到的结果是一样的,因为取整方向都是左边。
如果一个是负数的话,那么它向0取整和向正无穷大反向取整,得到的结果是一样的,因为取整方向都是右边。
不理解的小伙伴可以看看上面画的数轴方向然后随便结合一个数比对一下。
以上就是四种取整的方法,不同的取整方法最后得到的结果可能是相同的。

希望能给读者带来帮助!

【C语言】深度理解-取整相关推荐

  1. [深入浅出C语言]理解取整、取余和取模

    关于C语言的取模运算,也许你只了解正数取模,而从未接触过负数取模,本文就来分享一波C语言取整.取模和取余的个人学习经验与心得,希望对你有所帮助. 笔者水平有限,难免存在纰漏,欢迎指正交流. 关于取整 ...

  2. 深入理解取整、取余与取模问题

    目录 1. 取整问题 1.0向取整(C语言默认的取整方案) 2.地板取整(向负无穷的方向取整) 3.天花板取整(向+无穷的方向取整) 4.四舍五入取整 汇总例子 2.取模问题 1.余数的定义 2.两种 ...

  3. C语言对于变量如何取整,C语言如何进行取整

    C语言如何进行取整 编号: QA003792 建立日期: 2001年1月18日 最后修改日期: 2005年8月22日 所属类别: C/C++ - 其他方面 操作系统: win98 编程工具: tc 2 ...

  4. 计算机c语言运算符号取整,c语言取整(c语言四舍五入取整)

    C语言有以下几种取整方法:1. 直接赋值给整数变量.如:int i = 2.5: 或 i = (int) 2.5: 这种方法采用的是舍去小数部分2. 使用floor函数.floor(x)返回的是小于或 ...

  5. 深度理解取余/取模运算

    日常编程经常会接触到取余/取模运算,那么计算机中取余/取模运算究竟是怎么定义的? P1:四种"取整"方式 数学取整 1.1 向0取整 parseInt() 注意接受参数是strin ...

  6. c语言的向上取整和向下取整函数

    装载自https://blog.csdn.net/weibo1230123/article/details/80511939 C语言有以下几种取整方法: 1.直接赋值给整数变量.如:    int i ...

  7. java 凑整_Java语言中的取整运算(包括截尾取整,四舍五入,凑整)? – 日记

    import java.math.BigDecimal; import java.text.DecimalFormat; public class TestGetInt{ public static ...

  8. c语言中余数取整,C 逻辑运算, 移位运算 , 取整 , 取模(取余)

    一. 按位运算 (快速操作数据的某个位) ^   按位异或 ~  按位取反 &  按位与 |  按位或 二. 逻辑运算 &&  逻辑与   有一个值为 0 ,值为 0 ||  ...

  9. c 语言浮点数向上取整,(转)C/C++ 取整函数ceil(),floor(),向上取整,向下取整...

    #include  double floor(doublex); float floorf(floatx); long double floorl(long doublex); double floo ...

最新文章

  1. webp的js插件_让浏览器全面兼容WebP图片格式
  2. 物体分割--Deep Watershed Transform for Instance Segmentation
  3. 计算机处理文献信息 需要,科学素养与科研方法 考试85.doc
  4. Minio 小技巧 | 通过编码设置桶策略,实现永久访问和下载
  5. lambda的用法与实例(转载)
  6. 飞秋下载2010正式版最新
  7. 宝塔面板插件 sitemap生成器(附神马/百度主动推送)
  8. gitlable iphone_iPhone 12首批用户成“小白鼠”,“信号故障”躺枪者无数
  9. 01章.计算机网络概述(1.7)
  10. LabVIEW编程LabVIEW开发 施耐德
  11. 传奇3单机显示服务器进不去,传奇3单机架设的不能进入游戏
  12. 计算机用户名的数值数据是什么,计算机数据最基本的单位是什么?
  13. 【深度学习】损失函数详解
  14. 分享106个PHP源码,总有一款适合您
  15. 图像处理之几何变换(python实现)
  16. 【大会信息分享】新一代推荐算法核心技术与实践
  17. 国内外日常上网必备,实用趣味网站合集
  18. ubuntu18.04 安装 wps2019
  19. 分词工具比较及使用(ansj、hanlp、jieba)
  20. 基于物联感知和GNSS技术的铁塔安全监测解决方案

热门文章

  1. 信大捷安的笔试题(c/c++)
  2. 哔哩哔哩秋季头图小案例
  3. Kali渗透测试:身份认证攻击
  4. Eclipse pyDev环境搭建
  5. Ubuntu使用docker安装elasticsearch与Kibana
  6. 用纯HTML5制作网站
  7. android逆向必备工具
  8. AI智能语音识别算法原理 一
  9. 项目-电子产品量产工具
  10. 微信小程序之绝对路径、相对路径、返回到某个页面 抛弃../../