Android常用C++特性之std::abs
声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。
std::abs
是 C++ 标准库中的一个函数,用于计算整数、浮点数或其他数值类型的绝对值。它返回一个值,该值是参数的非负数形式,即去掉负号的值。如果参数是正数或零,std::abs
直接返回该值。
C++ 标准库中的 std::abs
有多个重载版本,用于处理不同类型的参数。
语法
#include <cstdlib> // 对于整数类型
#include <cmath> // 对于浮点数和其他数学函数
// 整数类型
int abs(int n);
long abs(long n);
long long abs(long long n);
// 浮点数类型
float fabs(float n);
double fabs(double n);
long double fabs(long double n);
返回值
- 如果参数为负数,则返回其相反数,即该数的绝对值。
- 如果参数为正数或 0,则返回该值本身。
示例
1. 计算整数的绝对值
#include <iostream>
#include <cstdlib> // 用于 std::abs
int main() {
int x = -10;
int y = 5;
std::cout << "Absolute value of x: " << std::abs(x) << std::endl;
std::cout << "Absolute value of y: " << std::abs(y) << std::endl;
return 0;
}
输出:
Absolute value of x: 10
Absolute value of y: 5
2. 计算浮点数的绝对值
对于浮点数,使用 std::fabs
函数。
#include <iostream>
#include <cmath> // 用于 std::fabs
int main() {
double a = -3.14;
double b = 2.71;
std::cout << "Absolute value of a: " << std::fabs(a) << std::endl;
std::cout << "Absolute value of b: " << std::fabs(b) << std::endl;
return 0;
}
输出:
Absolute value of a: 3.14
Absolute value of b: 2.71
3. std::abs
处理长整型
std::abs
也可以处理 long
或 long long
类型的整数。
#include <iostream>
#include <cstdlib> // 用于 std::abs
int main() {
long x = -1000000L;
long long y = -10000000000LL;
std::cout << "Absolute value of x: " << std::abs(x) << std::endl;
std::cout << "Absolute value of y: " << std::abs(y) << std::endl;
return 0;
}
输出:
Absolute value of x: 1000000
Absolute value of y: 10000000000
注意事项
- 对于整数类型,
std::abs
可以处理int
,long
, 和long long
类型。 - 对于浮点数类型,使用
std::fabs
来处理float
,double
, 和long double
类型。 - 对于自定义的数值类型(如
std::complex
),C++ 也提供了相应的绝对值计算函数(如std::abs
专用于std::complex
)。
总结
std::abs
主要用于计算整数的绝对值。- 对于浮点数类型,应使用
std::fabs
进行绝对值计算。 - 支持不同的数值类型重载,如
int
,long
,long long
,float
,double
等。
原文地址:https://blog.csdn.net/yzq_yezhiqiang/article/details/142601168
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!