带你深度走入C语言取整以及4种函数

 更新时间:2022年08月10日 12:01:11   作者:謓泽  
大家都知道取整这回事,但是对于取整只有单一的认识,下面这篇文章主要给大家介绍了关于C语言取整以及4种函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

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

取整

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

取整⇢取整字面意思非常好理解无非就是对整数取整像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向取整"

⒈trunc - 0向取整

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

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

trunc 参数如下↓

     double trunc  (     double x);
      float truncf (      float x);
long double truncl (long double x);

📝代码示例如下↓

#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;
}

运行结果🖊

 2

-2

 2

-2

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

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

⒉floor -地板取整

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

floor 参数如下↓

double floor (double x);

📝代码示例如下↓

#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;
}

运行结果🖊

 2

-3

 2

-3

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

⒊ceil-无穷大取整

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

ceil 参数如下↓

double ceil (double x);

📝代码示例如下↓

#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

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

👌

总结

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

到此这篇关于C语言取整以及4种函数的文章就介绍到这了,更多相关C语言取整及函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • c语言的指针数组详解

    c语言的指针数组详解

    这篇文章主要为大家介绍了c语言的指针数组,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • C语言中怎么在main函数开始前执行函数

    C语言中怎么在main函数开始前执行函数

    C语言中怎么在main函数开始前执行函数呢?下面小编就大家详细的介绍一下。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • OpenCV选择图像中矩形区域并保存

    OpenCV选择图像中矩形区域并保存

    这篇文章主要为大家详细介绍了OpenCV选择图像中矩形区域并保存的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • C++运行时类型识别与转换实现方法

    C++运行时类型识别与转换实现方法

    运行时类型识别可能被认为是C++中一个”次要“的特征,当程序员在编程过程中陷入非常困难的境地时,实用主义将会帮助他走出困境
    2022-10-10
  • C++的头文件和实现文件详解

    C++的头文件和实现文件详解

    这篇文章主要介绍了C++的头文件和实现文件详解的相关资料,需要的朋友可以参考下
    2015-01-01
  • C++实现简单学生信息管理系统

    C++实现简单学生信息管理系统

    这篇文章主要为大家详细介绍了C++实现简单学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C++类的静态成员变量与静态成员函数详解

    C++类的静态成员变量与静态成员函数详解

    下面小编就为大家带来一篇C++类的静态成员变量与静态成员函数的文章。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-11-11
  • OpenCV实现特征检测和特征匹配方法汇总

    OpenCV实现特征检测和特征匹配方法汇总

    一幅图像中总存在着其独特的像素点,这些点我们可以认为就是这幅图像的特征,成为特征点,本文主要介绍了OpenCV实现特征检测和特征匹配方法,感兴趣的可以了解一下
    2021-08-08
  • 深入浅出理解C语言初识结构体

    深入浅出理解C语言初识结构体

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项,本篇让我们来了解C 的结构体
    2022-02-02
  • 基于typedef的用法详解

    基于typedef的用法详解

    本篇文章是对typedef的用法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论