首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::acos

Defined in header <cmath>

?

?

float acos( float arg );

(1)

?

double acos( double arg );

(2)

?

long double acos( long double arg );

(3)

?

double acos( Integral arg );

(4)

(since C++11)

的弧余弦的主值。arg...

4%29一组过载或接受任意参数的函数模板积分型等于2%29%28double29%。

参数

arg

-

value of a floating-point or Integral type

返回值

如果没有错误发生,则弧余弦arg范围内28弧科斯%28 arg%29%290;π,被归还。

如果发生域错误,则返回支持%29的实现定义值%28 NaN。

如果由于下流而发生范围错误,则返回舍入%29后的正确结果%28。

错误处理

在以下情况下发生域错误arg超出范围[-1.0; 1.0]

如果实现支持ieee浮点算法%28IEC 60559%29,

  • 如果参数为+1,则值+0会被归还。
  • 如果arg>1,则会发生域错误并返回NaN。
  • 如果参数为nan,则返回nan。

二次

代码语言:javascript
复制
#include <cmath>
#include <iostream>
#include <cerrno>
#include <cfenv>
#include <cstring>
 
#pragma STDC FENV_ACCESS ON
int main()
{
    std::cout << "acos(-1) = " << acos(-1) << '\n'
              << "acos(0.0) = " << acos(0.0) << " 2*acos(0.0) = " << 2*acos(0) << '\n'
              << "acos(0.5) = " << acos(0.5) << " 3*acos(0.5) = " << 3*acos(0.5) << '\n'
              << "acos(1) = " << acos(1) << '\n';
    // error handling 
    errno = 0; std::feclearexcept(FE_ALL_EXCEPT);
    std::cout << "acos(1.1) = " << acos(1.1) << '\n';
    if(errno == EDOM)
        std::cout << "    errno == EDOM: " << std::strerror(errno) << '\n';
    if(std::fetestexcept(FE_INVALID))
        std::cout << "    FE_INVALID raised" << '\n';
}

二次

产出:

二次

代码语言:javascript
复制
acos(-1) = 3.14159
acos(0.0) = 1.5708 2*acos(0.0) = 3.14159
acos(0.5) = 1.0472 3*acos(0.5) = 3.14159
acos(1) = 0
acos(1.1) = nan
    errno == EDOM: Numerical argument out of domain
    FE_INVALID raised

二次

另见

asin

computes arc sine (arcsin(x)) (function)

atan

computes arc tangent (arctan(x)) (function)

atan2

arc tangent, using signs to determine quadrants (function)

cos

computes cosine (cos(x)) (function)

acos(std::complex) (C++11)

computes arc cosine of a complex number (arccos(z)) (function template)

acos(std::valarray)

applies the function std::acos to each element of valarray (function template)

C.为高级干事编写的文件

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com