函数abs 和fabs

2024-05-08 10:08
文章标签 函数 abs fabs

本文主要是介绍函数abs 和fabs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

abs和fabs

最简单的区别是abs为整数的绝对值,fabs为浮点数的绝对值。
C语言
函数名: abs

功 能: 求整数的绝对值

头文件:math.h

用 法: int abs(int i);

程序例:

#include

#include

int main(void)

{

int number = -1234;

printf("number: %d absolute value: %d/n", number, abs(number));

return 0;

}

 

fabs:函数简介

类似的还有:

float fabsf(float num);

double fabs(double num);

long double fabsl(long double num);

fabsf() and fabsl()都是在C99中增加的!

原型:在TC中原型是extern float fabs(float x);,在VC6.0中原型是double fabs( double x );。

用法:#include <math.h>

功能:求浮点数x的绝对值

说明:计算|x|, 当x不为负时返回x,否则返回-x

类似函数:abs

C++中


cmah定义了fabs();cstdlib定义了abs(),labs();但这些都是继承自C的。


数学函数,所在函数库为math.h、stdlib.h、string.h、float.h 
int abs(int i) 返回整型参数i的绝对值 
double cabs(struct complex znum) 返回复数znum的绝对值 
double fabs(double x) 返回双精度参数x的绝对值 
long labs(long n) 返回长整型参数n的绝对值 
double exp(double x) 返回指数函数ex的值 
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中 
double ldexp(double value,int exp); 返回value*2exp的值 
double log(double x) 返回logex的值 
double log10(double x) 返回log10x的值 
double pow(double x,double y) 返回xy的值 
double pow10(int p) 返回10p的值 
double sqrt(double x) 返回+√x的值 
double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 
double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 
double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度 
double cos(double x) 返回x的余弦cos(x)值,x为弧度 
double sin(double x) 返回x的正弦sin(x)值,x为弧度 
double tan(double x) 返回x的正切tan(x)值,x为弧度 
double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 
double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 
double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 
double hypot(double x,double y) 返回直角三角形斜边的长度(z), 
x和y为直角边的长度,z2=x2+y2 
double ceil(double x) 返回不小于x的最小整数 
double floor(double x) 返回不大于x的最大整数 
void srand(unsigned seed) 初始化随机数发生器 
int rand() 产生一个随机数并返回这个数 
double poly(double x,int n,double c[])从参数产生一个多项式 
double modf(double value,double *iptr)将双精度数value分解成尾数和阶 
double fmod(double x,double y) 返回x/y的余数 
double frexp(double value,int *eptr) 将双精度数value分成尾数和阶 
double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数 
double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数 
double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数 
char *ecvt(double value,int ndigit,int *decpt,int *sign) 
将浮点数value转换成字符串并返回该字符串 
char *fcvt(double value,int ndigit,int *decpt,int *sign) 
将浮点数value转换成字符串并返回该字符串 
char *gcvt(double value,int ndigit,char *buf) 
将数value转换成字符串并存于buf中,并返回buf的指针 
char *ultoa(unsigned long value,char *string,int radix)


这篇关于函数abs 和fabs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970037

相关文章

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据

Unity3D 运动之Move函数和translate

CharacterController.Move 移动 function Move (motion : Vector3) : CollisionFlags Description描述 A more complex move function taking absolute movement deltas. 一个更加复杂的运动函数,每次都绝对运动。 Attempts to

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

JavaSE(十三)——函数式编程(Lambda表达式、方法引用、Stream流)

函数式编程 函数式编程 是 Java 8 引入的一个重要特性,它允许开发者以函数作为一等公民(first-class citizens)的方式编程,即函数可以作为参数传递给其他函数,也可以作为返回值。 这极大地提高了代码的可读性、可维护性和复用性。函数式编程的核心概念包括高阶函数、Lambda 表达式、函数式接口、流(Streams)和 Optional 类等。 函数式编程的核心是Lambda

PHP APC缓存函数使用教程

APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。(Linux APC扩展安装) 系统缓存 它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存 3600s(一小时)。但是这样仍会浪费大量C