您的位置:首页 > 健康 > 养生 > 融创中国最新消息_上海解封最新消息_拉新推广平台有哪些_最近一周新闻大事件

融创中国最新消息_上海解封最新消息_拉新推广平台有哪些_最近一周新闻大事件

2025/7/1 20:41:10 来源:https://blog.csdn.net/qq_40788199/article/details/142700820  浏览:    关键词:融创中国最新消息_上海解封最新消息_拉新推广平台有哪些_最近一周新闻大事件
融创中国最新消息_上海解封最新消息_拉新推广平台有哪些_最近一周新闻大事件

常用数学函数

 计算反正切 (arctan(x))

std::atan, 
std::atanf, 
std::atanl

定义于头文件 <math.h>

float       atanf( float arg );

(1)(C99 起)

double      atan( double arg );

(2)

long double atanl( long double arg );

(3)(C99 起)

定义于头文件 <tgmath.h>

#define atan( arg )

(4)(C99 起)

1-3) 计算 arg 的弧(反)正切主值。

4) 泛型宏:若参数拥有 long double 类型,则调用 atanl 。否则,若参数拥有整数类型或 double 类型,则调用 atan 。否则调用 atanf 。若参数为复数,则宏调用对应的复数函数( catanf 、 catan 、 catanl )。

参数

arg-浮点值

返回值

若不出现错误,则返回 arg 在 [-

π
2

 ; +

π
2

] 弧度范围中的弧(反)正切( arctan(arg) )。

若出现下溢所致的值域错误,则返回(舍入后的)正确结果。

错误处理

报告 math_errhandling 中指定的错误。

若实现支持 IEEE 浮点算术( IEC 60559 ),则

  • 若参数为 ±0 ,则返回不修改的参数
  • 若参数为 +∞ ,则返回 +π/2
  • 若参数为 -∞ ,则返回 -π/2
  • 若参数为 NaN ,则返回 NaN

注意

POSIX 指定在下溢情况下,返回不修改的 arg ,而若不支持如此,则返回不大于 DBL_MIN 、 FLT_MIN 和 LDBL_MIN 的实现定义值。

调用示例

#include <iostream>
#include <cstdlib>
#include <typeinfo>
#include <cinttypes>
#include <cmath>
#include <math.h>
#include <tgmath.h>int main()
{//1-3)  计算 arg 的弧(反)正切主值。const float fNumber = std::acos(-1);std::cout << "typeid(float).name():   " << typeid(float).name() << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::atan(" << fNumber / i << "):   "<< std::atan(fNumber / i) << std::endl;}std::cout << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::atan(" << - fNumber / i << "):   "<< std::atan(- fNumber / i) << std::endl;}std::cout << std::endl;const double dNumber = std::acos(-1);for (int i = 1; i <= 10; i += 1){std::cout << "std::atan(" << dNumber / i << "):   "<< std::atan(dNumber / i) << std::endl;}std::cout << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::atan(" << - dNumber / i << "):   "<< std::atan(- dNumber / i) << std::endl;}std::cout << std::endl;const long double ldNumber = std::acos(-1);std::cout << "typeid(long double).name():   " << typeid(long double).name() << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::atan(" << ldNumber / i << "):   "<< std::atan(ldNumber / i) << std::endl;}std::cout << std::endl;for (int i = 1; i <= 10; i += 1){std::cout << "std::atan(" << - ldNumber / i << "):   "<< std::atan(- ldNumber / i) << std::endl;}std::cout << std::endl;return 0;
}

输出

typeid(float).name():   f
std::atan(3.14159):   1.26263
std::atan(1.5708):   1.00388
std::atan(1.0472):   0.808449
std::atan(0.785398):   0.665774
std::atan(0.628319):   0.560982
std::atan(0.523599):   0.482348
std::atan(0.448799):   0.421855
std::atan(0.392699):   0.374197
std::atan(0.349066):   0.335842
std::atan(0.314159):   0.304396std::atan(-3.14159):   -1.26263
std::atan(-1.5708):   -1.00388
std::atan(-1.0472):   -0.808449
std::atan(-0.785398):   -0.665774
std::atan(-0.628319):   -0.560982
std::atan(-0.523599):   -0.482348
std::atan(-0.448799):   -0.421855
std::atan(-0.392699):   -0.374197
std::atan(-0.349066):   -0.335842
std::atan(-0.314159):   -0.304396std::atan(3.14159):   1.26263
std::atan(1.5708):   1.00388
std::atan(1.0472):   0.808449
std::atan(0.785398):   0.665774
std::atan(0.628319):   0.560982
std::atan(0.523599):   0.482348
std::atan(0.448799):   0.421855
std::atan(0.392699):   0.374197
std::atan(0.349066):   0.335842
std::atan(0.314159):   0.304396std::atan(-3.14159):   -1.26263
std::atan(-1.5708):   -1.00388
std::atan(-1.0472):   -0.808449
std::atan(-0.785398):   -0.665774
std::atan(-0.628319):   -0.560982
std::atan(-0.523599):   -0.482348
std::atan(-0.448799):   -0.421855
std::atan(-0.392699):   -0.374197
std::atan(-0.349066):   -0.335842
std::atan(-0.314159):   -0.304396typeid(long double).name():   e
std::atan(3.14159):   1.26263
std::atan(1.5708):   1.00388
std::atan(1.0472):   0.808449
std::atan(0.785398):   0.665774
std::atan(0.628319):   0.560982
std::atan(0.523599):   0.482348
std::atan(0.448799):   0.421855
std::atan(0.392699):   0.374197
std::atan(0.349066):   0.335842
std::atan(0.314159):   0.304396std::atan(-3.14159):   -1.26263
std::atan(-1.5708):   -1.00388
std::atan(-1.0472):   -0.808449
std::atan(-0.785398):   -0.665774
std::atan(-0.628319):   -0.560982
std::atan(-0.523599):   -0.482348
std::atan(-0.448799):   -0.421855
std::atan(-0.392699):   -0.374197
std::atan(-0.349066):   -0.335842
std::atan(-0.314159):   -0.304396

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com