C-Bibliotheksfunktionen -asin()
C-Standardbibliothek - <math.h>
Beschreibung
asin()ist Teil der C-Standardbibliothek<math.h>Eine Funktion zur Berechnung des Arkussinus einer Zahl (auch bekannt als Umkehrfunktion des Sinus unter den inversen trigonometrischen Funktionen). Diese Funktion akzeptiert eine reelle Zahl zwischen -1 und 1 und gibt den Arkussinus dieses Wertes im Bogenmaß zurück.
Deklaration
Nachfolgend die Deklaration der Funktion asin():
#include <math.h> double asin(double x); float asinf(float x); long double asinl(long double x);
Parameter
- x-- Eine Gleitkommazahl zwischen -1 und 1.
Rückgabewert
- return
xder Arkussinus des Wertes im Bogenmaß. Der Rückgabewert reicht von [-π/2, π/2]. - if
xWenn der Wert nicht im Bereich [-1, 1] liegt, gibt die Funktion NaN zurück und setzt einen entsprechenden Mathematikfehler (z. B.EDOM)。
Beispiel
Das folgende Beispiel demonstriert die Verwendung der Funktion asin().
Beispiel
#include <math.h>
int main() {
double x = 0.5;
double result = asin(x);
printf("asin(%f) = %f Radiant\n", x, result);
printf("asin(%f) = %f Grad\n", x, result * 180 / M_PI);
return 0;
}
Codeanalyse:
- Der Code bindet zuerst die Header-Datei ein
<math.h>und<stdio.h>。 - eine Variable definieren
x, der Wert ist 0.5. - Nutzung
asin()Berechnenxden Arkussinus von, und speichert das Ergebnis inresultIn. - print
xden Arkussinuswert im Bogenmaß. - Das Ergebnis in Grad umwandeln und ausgeben. Die Umrechnungsformel lautet
弧度 * (180 / π)。
Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:
asin(0.500000) = 0.523599 radians asin(0.500000) = 30.000000 degrees
Fehlerbehandlung
Wenn die Eingabexliegt außerhalb des gültigen Bereichs [-1, 1],asin()wird NaN zurückgeben underrnoistEDOM. Sie könnenisnan()Die Funktion prüft, ob das Ergebnis NaN ist:
Beispiel
#include <math.h>
#include <errno.h>
int main() {
double x = 2.0; // Ungültige Eingabe, außerhalb des Bereichs [-1, 1]
errno = 0; // errno zurücksetzen
double result = asin(x);
if (errno == EDOM) {
printf("Eingabewert liegt außerhalb des Definitionsbereichs. asin(%f) ist nicht definiert.\n", x);
} else {
printf("asin(%f) = %f Radiant\n", x, result);
}
return 0;
}
Codeanalyse:
- Der Code versucht zu berechnen
asin(2.0)Dies ist eine ungültige Eingabe, weil 2.0 nicht im Bereich [-1, 1] liegt. errnowird auf 0 zurückgesetzt, dann aufrufenasin(x)。- Prüft
errnoOb es gleichEDOMWenn ja, geben Sie die Fehlermeldung aus. - Wenn kein Fehler auftritt, wird das berechnete Ergebnis ausgegeben.
Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:
asin(2.000000) = nan radians
asin()Die Funktion wird verwendet, um den Arkussinus eines gegebenen Werts zu berechnen, und ist ein gängiges Werkzeug für die Behandlung inverser trigonometrischer Operationen. Bei ihrer Verwendung sollte sichergestellt werden, dass der Eingabewert im Bereich [-1, 1] liegt, und es sollten mögliche Fehlerbedingungen behandelt werden. Durch Umwandlung des Ergebnisses in Grad lässt sich das Ergebnis intuitiver verstehen.