有没有知道C++ sgn 函数怎么用
C++2010.1
C++2010.1
C++2010.1
请管理员注意,这个人大肆在作弊自问自答
此人另一个账户
https://blog.csdn.net/weixin_53641200?type=ask
问题回答:
在C++2010标准中并没有内置的sgn函数,所以需要手动实现这个函数。
sgn函数的作用是返回一个数的符号,即判断一个数是正数、负数还是零。
以下是一个简单的sgn函数的实现方式:
template <typename T>
int sgn(T val) {
return (T(0) < val) - (val < T(0));
}
函数模板sgn
接受一个参数val
,可以是任意的数字类型,包括整数和浮点数。函数返回一个int类型的值,用来表示参数val
的符号。
使用方式如下:
#include <iostream>
int main() {
int num1 = -5;
int num2 = 10;
int num3 = 0;
int sgn1 = sgn(num1);
int sgn2 = sgn(num2);
int sgn3 = sgn(num3);
std::cout << "sgn(" << num1 << ") = " << sgn1 << std::endl;
std::cout << "sgn(" << num2 << ") = " << sgn2 << std::endl;
std::cout << "sgn(" << num3 << ") = " << sgn3 << std::endl;
return 0;
}
输出结果为:
sgn(-5) = -1
sgn(10) = 1
sgn(0) = 0
这里的sgn1
、sgn2
和sgn3
分别表示num1
、num2
和num3
的符号,-1表示负数,0表示零,1表示正数。
请注意,由于C++的模板特性,该函数可以处理多种类型的参数,如整数和浮点数。如果需要在特定的场景中使用,请根据具体的需求调整函数的模板参数和函数体。