acos
, acosf
, acosl
Calcule l’arc cosinus.
Syntaxe
double acos( double x );
float acosf( float x );
long double acosl( long double x );
#define acos(X) // Requires C11 or higher
float acos( float x ); // C++ only
long double acos( long double x ); // C++ only
Paramètres
x
Valeur comprise entre -1 et 1, pour laquelle calculer l’arccosine (cosinus inverse).
Valeur retournée
La acos
fonction retourne l’arccosine de x
la plage 0 à π radians.
Par défaut, s’il x
est inférieur à -1 ou supérieur à 1, acos
retourne une valeur indéfinie.
Entrée | Exception SEH | Exception _matherr |
---|---|---|
± INF | INVALID |
_DOMAIN |
± QNaN, IND | aucune | _DOMAIN |
|x| > 1 |
INVALID |
_DOMAIN |
Notes
C++ autorisant la surcharge, vous pouvez appeler des surcharges de acos
qui acceptent et retournent des types float
et long double
. Dans un programme C, sauf si vous utilisez la <tgmath.h>
macro pour appeler cette fonction, acos
prend toujours et retourne un double
.
Si vous utilisez la acos
macro à partir de <tgmath.h>
laquelle , le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis | En-têtes facultatifs |
---|---|---|
acos , acosf , acosl |
<math.h> |
<errno.h> |
Macro acos |
<tgmath.h> |
Exemple
Ce programme vous invite à entrer une valeur comprise entre -1 et 1. Les valeurs d’entrée en dehors de cette plage génèrent des messages d’erreur _DOMAIN
. Si une valeur valide est entrée, le programme affiche l’arc sinus et l’arc cosinus de cette valeur.
// crt_asincos.c
// arguments: 0
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int ac, char* av[] )
{
double x,
y;
errno_t err;
// argument checking
if (ac != 2)
{
fprintf_s( stderr, "Usage: %s <number between -1 and 1>\n",
av[0]);
return 1;
}
// Convert argument into a double value
if ((err = sscanf_s( av[1], "%lf", &x )) != 1)
{
fprintf_s( stderr, "Error converting argument into ",
"double value.\n");
return 1;
}
// Arcsine of X
y = asin( x );
printf_s( "Arcsine of %f = %f\n", x, y );
// Arccosine of X
y = acos( x );
printf_s( "Arccosine of %f = %f\n", x, y );
}
Arcsine of 0.000000 = 0.000000
Arccosine of 0.000000 = 1.570796
Voir aussi
Prise en charge mathématique et à virgule flottante
asin
, asinf
, asinl
atan
, atanf
, atanl
, atan2
, atan2f
, atan2l
cos
, cosf
, cosl
_matherr
sin
, sinf
, sinl
tan
, tanf
, tanl
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour