C语言再学习 -- abs、fabs、fabsf函数的用法区别
一、abs()
参看:abs()
整数的绝对值函数
概要:
#include <stdlib.h>
int abs(int val);
long labs(long val);
long long labs(long long val);#include <inttypes.h>
intmax_t labs(intmax_t val);
描述:
函数的abs()类返回它们的整数操作数val的绝对值,返回相同的类型。如果结果不能表示,则行为是未定义的。
参数
整数
返回值
abs()类函数返回val的绝对值。
一致性
abs()
符合 ANSI/ISO 9899:1990 ‘ISO C90’;
labs()
符合 ANSI/ISO 9899:1990 ‘ISO C90’ ;
llabs()
符合 ANSI/ISO 9899:1999 ‘ISO C99’ imaxabs() conforms to ANSI/ISO 9899:1999 ‘ISO C99’;
二、fabs(), fabsf()
参看:fabs(), fabsf()
浮点绝对值的函数
概要
#include <math.h>
double fabs(double x)
float fabsf(float x)
描述
fabs()
函数的作用是:计算浮点数x的绝对值。
fabsf()
函数是fabs()
的单精度版本。
参数
浮点值
返回值
函数的作用是:返回x的绝对值。
如果x为NaN,则返回NaN。
如果结果溢出,则返回0。
扩展:NaN(Not a Number,非数)
NaN(NotaNumber,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。
在浮点数运算中,NaN与无穷大的概念不同,尽管两者均是以浮点数表示实数时的特殊值。无效操作(Invalid Operation)同样也不同于算术溢出(可能返回无穷大)和算术下溢出(可能返回最小的一般数值、特殊数值、零等)。
IEEE 754-1985中,用指数部分全为1、小数部分非零表示NaN。以32位IEEE单精度浮点数的NaN为例,按位表示即:S111 1111 1AXX XXXX XXXX XXXX XXXX XXXX,S为符号位,符号位S的取值无关紧要;A是小数部分的最高位( the most significant bit of the significand),其取值表示了NaN的类型:X不能全为0,并被称为NaN的payload;
一致性
fabs()
适用ANSI/ISO 9899-1990
fabsf()
适用PTC MKS Toolkit UNIX api扩展
C语言再学习 -- abs、fabs、fabsf函数的用法区别相关推荐
- C语言再学习 -- 字符串和字符串函数
最近身体很不给力,很乏累!白天没精神,晚上睡不着,心情还很烦躁.看书都有点看不下去的样子,到了C语言最难掌握的部分了,数组.指针.字符串.硬着头皮看书总结吧. 一.字符串 1.字符串介绍 字符串是以空 ...
- abs、fabs、fabsf函数的用法区别
abs.fabs.fabsf三个函数都是用来求一个数的绝对值,区别如下: 1)int abs(int a); // 处理int类型的取绝对值 2)double ...
- C语言再学习25——常用字符串函数归纳
前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 1. memcpy 内存复制函数. 1.1 头文件 #include &l ...
- C语言再学习 -- EOF、feof函数、ferror函数
EOF详解 EOF是end of file的缩写,表示"文字流"(stream)的结尾.这里的"文字流",可以是文件(file),也可以是标准输入(stdin) ...
- C语言再学习 -- 详解C++/C 面试题 1
参看:<高质量C++ C编程指南>.林锐 对这篇文章记忆犹新,因为之前找工作面试的时候,遇到过一家公司就是用的这套面试题.现在就结合考查的知识点和我总结完 C 语言再学习后的深入理解,来详 ...
- C语言再学习 -- 关键字const
const 关键字其实我们并不陌生,之前有讲过const修饰数组和指针.现在来详细介绍这个关键字. 参看:[C/C++和指针]著名的<const的思考> 一.const 介绍 1.cons ...
- C语言再学习 -- 再论数组和指针
之前有总结指针数组,但是现在看来总结的太简单了.好多重要的知识点都是一带而过的.本想在后面添加后来想想算了,还是再写一篇文章来详细介绍数组和指针这对冤家吧. 之前总结的,参看:C语言再学习 -- 数组 ...
- C语言再学习 -- 文件
文件是什么 一个文件(file)通常就是磁盘上的一段命名的存储区.C 将文件看成是连续的字节序列,其中每一个字节都可以单独地读取. 二进制和文本模式 1.在windows系统中,文本模式下,文件以&q ...
- C语言再学习 -- 输入/输出
一.缓冲区 输入字符的立即回显是非缓冲或直接输入的一个实例,它表示你说键入的字符被收集并存储在一个被成为缓冲区的临时存储区域中.按下回车可使你所键入的字符块对程序变成可用. 为什么需要缓冲区?首先,将 ...
最新文章
- 矩阵专职_新的篇章开始了-我将以专职技术作家的身份加入RunCloud
- 信息系统项目管理师-案例分析
- MFC改变static text颜色
- 人工神经网络心得体会_卷积神经网络学习心得
- python判断能否组成三角形_python三角形判定怎么做
- 2017.10.10 杀人游戏 思考记录
- 后台开发:核心技术与应用实践3.3.2 vector的查增删
- Java抽象类/接口
- [面试] 算法(二)—— 第一个出现一次的字符(第一个出现 k 次、出现最多次)
- php单例模式深入讲解
- 关于EasyUI中DataGrid控件的一些使用方法总结
- 2020-09-15
- 验证码生成工具google authenticator
- Zmodem协议工作原理
- vue 窗口变小文字_页面字体随窗口变化大小
- 登陆远程kvm_通过IPMI kvm控制台远程重装服务器系统
- 美的集团计算机综合面试群面,美的集团面试
- 值得推荐五个编程学习的网站
- 【数学】小C的作业题
- 有一牧场,已知养牛27头,6天把草吃尽;养牛23头,9天把草吃尽。如果养牛21头,那么几天能把牧场上的草吃尽呢?并且牧场上的草是不断生长的。