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

  • returnxder Arkussinus des Wertes im Bogenmaß. Der Rückgabewert reicht von [-π/2, π/2].
  • ifxWenn 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 <stdio.h>
#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 definierenx, der Wert ist 0.5.
  • Nutzungasin()Berechnenxden Arkussinus von, und speichert das Ergebnis inresultIn.
  • printxden 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 <stdio.h>
#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 berechnenasin(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üfterrnoOb 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.

C-Standardbibliothek - <math.h>

Weitere Erweiterungen