开发者社区> 謓泽> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

『C语言』深度走入取整 & 4种函数

简介: ⒈trunc - 0向取整 ⒉floor -地板取整 ⒊ceil-无穷大取整 ⒋round-四舍五入
+关注继续查看

 Hello🥂謓泽👋多多指教

🥂前言

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

image

🍻取整

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

🍊取整⇢取整字面意思非常好理解无非就是对整数取整像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;
}
image.gif

运行结果🖊

a =  2

b = -2

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

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

⒈trunc - 0向取整

trunc 的头文件是 ⇢ #include<math.h>

🍅拓展知识点⇢对于「C语言」来说它实际上是有一个取整函数的相信很多小伙伴们是不知道「C语言」有这个trunc取整函数的。

trunc 参数如下↓

double trunc  (     double x);
      float truncf (      float x);
long double truncl (long double x);
image.gif

📝代码示例如下↓

#include<stdio.h>
#include<math.h>
int main(void)
{
    printf("%2f\n", trunc(2.99));
    printf("%2f\n", trunc(-2.99));
    printf("%2d\n", (int)trunc(2.99));
    printf("%2d\n", (int)trunc(-2.99));
    return 0;
}
image.gif

运行结果🖊

 2

-2

 2

-2

🍊注⇢这里我们需要注意函数的返回值都是浮点类型,如果你是用整形打印的话你需要把类型进行强转成(int)

🍏说明⇢在C语言当中默认采用的是0向取整的方式来进行的。

⒉floor -地板取整

floor 的头文件是 ⇢ #include<math.h>

floor 参数如下↓

double floor (double x);
image.gif

📝代码示例如下↓

#include<stdio.h>
#include<math.h>
int main(void)
{
    printf("%2d\n", (int)floor(2.99));
    printf("%2d\n", (int)floor(-2.99));
    printf("%2d\n", (int)floor(2.99));
    printf("%2d\n", (int)floor(-2.99));
    return 0;
}
image.gif

运行结果🖊

 2

-3

 2

-3

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

⒊ceil-无穷大取整

ceil 的头文件是 ⇢ #include<math.h>

ceil 参数如下↓

double ceil (double x);
image.gif

📝代码示例如下↓

#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;
}
image.gif

运行结果🖊

 3

-2

 3

-2

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

⒋round-四舍五入

round 的头文件是 ⇢ #include<math.h>

round 参数如下↓

double round  (double x);
      float roundf (float x);
long double roundl (long double x);
image.gif

📝代码示例如下↓

#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;
}
image.gif

运行结果🖊

 3

-3

 2

-3

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


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

image

image.gif编辑

★最后★ 点赞👍 关注👋 收藏📑  == 学会✔

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C语言求素数的几种方法
C语言求素数的几种方法
33 0
C语言——函数(下)
C语言——函数(下)
17 0
《测试驱动的嵌入式C语言开发》——3.4节写第一个测试
本节书摘来自华章社区《测试驱动的嵌入式C语言开发》一书中的第3章,第3.4节写第一个测试,作者:(美)James W. Grenning,更多章节内容可以访问云栖社区“华章社区”公众号查看
1107 0
C语言实践(2016级第4周)
【项目1-星号拼字母】   编程序,用星号输出你的姓名读音首字母。 参考解答 【项目2-长方形周长和面积】 编程序,输入长方形的两边长a和b,输出长方形的周长和面积(提示:边长可以是整数也可以是小数;实现乘法的运算符是*) 参考解答 【项目3-并联电阻】   编程序,输入两个电阻R1和R2的阻值,求它们并联后的阻值R(提示:计算公式为r=1/(1/r1+1/r2))
971 0
C语言函数
C语言函数 一、函数 C语言程序是由函数构成的,每个函数负责完成一部分的功能,函数将工恩呢该封装起来,以供程序调用。   二、函数定义 目的:将一些常用的功能封装起来,以供日后调用。 步骤:确定函数名,确定函数体,调用 格式:返回值类型 函数名(形式参数列表)   {  函数体 }   三、函数调用 定义函数需要明确定的东西: ①.
552 0
+关注
65
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载