【C语言】ceil、round

简介: 【C语言】ceil、round

🥂前言
这篇博客就带大家深度理解以下什么是取整。我提到的"深度"就可以看出来这篇文章对取整讲解的还是很详细的并且是肯定有些知识点内容在里面的,但是不要觉得深度就是设计到很多很困难的知识点。实际上都是一些相对且容易的一些知识点,那么废话不多说进入正题👋

🍻取整
关于"取整"这个词似乎我们既熟悉又会感到陌生,熟悉是因为我们在编程的时候经常会用到取整。陌生是因为又没有好好深度理解过这取整,那么接下来就围绕取整作为一个探讨。

🍊取整⇢取整字面意思非常好理解无非就是对整数取整像2.5是一个浮点数我们对其进行取整的话就是2的整数。📝代码示例如下↓

define _CRT_SECURE_NO_WARNINGS 1

include<stdio.h>

int main(void)
{
int a = 2.99;
int b = -2.99;
printf("a=%2d\n", a);
printf("b=%2d\n", b);
return 0;
}
运行结果🖊

a =  2

b = -2

🍏?并不是按照我们数学意义上的四舍五入而是不管你的小数位多大都的取整,这也是为什么我变量小数点取怎么大的原因也就是想让大家能非常直观的理解这个概念。一句话:直接把小数点后面的数字给省略了。

🍈总结⇢「C语言」取整默认采用的是"0向取整"。

⒊ceil-无穷大取整
ceil 的头文件是 ⇢ #include<math.h>

ceil 参数如下↓

double ceil (double x);
1.
📝代码示例如下↓

include<stdio.h>

include<math.h>

int main(void)
{
printf("%2d\n", (int)ceil(2.99));
printf("%2d\n", (int)ceil(-2.99));
printf("%2d\n", (int)ceil(2.99));
printf("%2d\n", (int)ceil(-2.99));
return 0;
}
运行结果🖊

 3

-2

 3

-2

🍊注⇢我们需要记住它是往+∞当中靠近的,从上述代码当中的运行结果相信你也可以看的出来都是往+∞当中靠近的。

⒋round-四舍五入
round 的头文件是 ⇢ #include<math.h>

round 参数如下↓

double round (double x);

  float roundf (float x);

long double roundl (long double x);

📝代码示例如下↓

include<stdio.h>

include<math.h>

int main(void)
{
printf("%2d\n", (int)round(2.99));
printf("%2d\n", (int)round(-2.01));
printf("%2d\n", (int)round(2.01));
printf("%2d\n", (int)round(-2.99));
return 0;
}
运行结果🖊

 3

-3

 2

-3

🍊注⇢这就是在我们数学当中的四舍五入的方式。

👌总结-最终采用哪种取决方式是根据你的应用场景来进行使用的~

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
五分钟带你了解ChatGPT的基本原理
五分钟带你了解ChatGPT的基本原理
1662 0
五分钟带你了解ChatGPT的基本原理
|
Linux
CentOS7下对非LVM类型的根分区进行扩容
CentOS7下对非LVM类型的根分区进行扩容
1361 0
CentOS7下对非LVM类型的根分区进行扩容
|
SQL 关系型数据库 MySQL
MySql 别犯糊涂了! LEFT JOIN 的 ON 后接上筛选条件,多个条件会出事!
MySql 别犯糊涂了! LEFT JOIN 的 ON 后接上筛选条件,多个条件会出事!
3699 0
MySql 别犯糊涂了! LEFT JOIN 的 ON 后接上筛选条件,多个条件会出事!
|
5月前
|
人工智能 运维 监控
JBoltAI Agent OS:企业AI管控的三个进化阶段
JBoltAI提出“Agent OS”企业级AI治理框架,分三阶段演进:一、策略与观测,实现权限统管与操作审计;二、策略自优化,基于行为数据动态调优规则;三、企业级编排,自动拆解任务、智能调度Agent协作。安全是智能生长的前提。(239字)
242 3
|
运维 Kubernetes 监控
K8S异常诊断之俺的内存呢
本文讲述作者如何解决客户集群中出现的OOM(Out of Memory)和Pod驱逐问题。文章不仅详细记录了问题的发生背景、现象特征,还深入探讨了排查过程中的关键步骤和技术细节。
1077 108
K8S异常诊断之俺的内存呢
|
开发者 Python 设计模式
用 Python 轻松创建图形界面:Tkinter 入门指南
用几行Python代码就能创建桌面小工具?没错!tkinter是Python内置的GUI库,无需安装,跨平台支持。从窗口、按钮到弹窗,轻松实现图形界面交互,适合新手快速上手,打造专属小工具。#Python #tkinter
1451 0
|
数据采集 人工智能 JSON
手把手教你写一个图片爬虫
本文介绍了一个实用的百度图片爬虫工具,仅需百余行 Python 代码即可实现自动搜索与下载图片功能,适用于需要批量获取图片素材的场景。爬虫包含请求处理、JSON 解析、文件操作等关键技术,并详细解析了其设计与实现原理,适合学习与扩展。
|
数据采集 监控 数据处理
基于STM32实现多模态生物电信号采集与传输
基于STM32实现多模态生物电信号采集与传输
544 0
智启芯篇·共赴北京|“开放·连接 ”2025玄铁 RISC-V 生态大会议程公布!
2025年2月28日“开放·连接 ”2025玄铁 RISC-V 生态大会议程公布。诚邀您参加“开放·连接”2025玄铁RISC-V生态大会。汇聚全球行业专家、技术领袖及资深工程师于北京,共同探讨RISC-V技术趋势与产业未来,共筑“芯”篇章。席位有限,欢迎扫码锁定参会席位!
875 1
|
Linux C# iOS开发
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
561 12