Функции библиотеки C -asin()

Стандартная библиотека C - <math.h>

Описание

asin()является частью стандартной библиотеки C<math.h>Функция, используемая для вычисления арксинуса числа (также известного как функция, обратная синусу, среди обратных тригонометрических функций). Эта функция принимает вещественное число от -1 до 1 и возвращает арксинус этого значения в радианах.

Объявление

Ниже приведено объявление функции asin():

#include <math.h>

double asin(double x);
float asinf(float x);
long double asinl(long double x);

Параметр

  • x-- Число с плавающей запятой в диапазоне от -1 до 1.

Возвращаемое значение

  • returnxарксинус значения в радианах. Возвращаемое значение находится в диапазоне [-π/2, π/2].
  • ifxЕсли значение не входит в диапазон [-1, 1], функция вернёт NaN и установит соответствующую математическую ошибку (например,EDOM)。

Пример

В следующем примере демонстрируется использование функции asin().

Пример

#include <stdio.h>
#include <math.h>

int main() {
    double x = 0.5;
    double result = asin(x);

    printf("asin(%f) = %f радиан\n", x, result);
    printf("asin(%f) = %f градусов\n", x, result * 180 / M_PI);

    return 0;
}

Анализ кода:

  • Код сначала включает заголовочный файл<math.h>и<stdio.h>。
  • определяет переменнуюx, значение равно 0.5.
  • Использованиеasin()Вычислитьxарксинус от, и сохраняет результат вresultВ.
  • printxзначение арксинуса, в радианах.
  • Преобразуйте результат в градусы и выведите его. Формула преобразования:弧度 * (180 / π)。

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

asin(0.500000) = 0.523599 radians
asin(0.500000) = 30.000000 degrees

Обработка ошибок

Если входное значениеxнаходится вне допустимого диапазона [-1, 1],asin()вернёт NaN и установитerrnoявляетсяEDOM. Можно использоватьisnan()Функция проверяет, является ли результат NaN:

Пример

#include <stdio.h>
#include <math.h>
#include <errno.h>

int main() {
    double x = 2.0;  // Недопустимый ввод, вне диапазона [-1, 1]
    errno = 0;  // Сбросить errno
    double result = asin(x);

    if (errno == EDOM) {
        printf("Входное значение вне области определения. asin(%f) не определён.\n", x);
    } else {
        printf("asin(%f) = %f радиан\n", x, result);
    }

    return 0;
}

Анализ кода:

  • Код пытается вычислитьasin(2.0)это недопустимый ввод, поскольку 2.0 не входит в диапазон [-1, 1].
  • errnoсбрасывается в 0, затем вызватьasin(x)。
  • ПроверяетerrnoРавно ли оноEDOMЕсли так, выведите сообщение об ошибке.
  • Если ошибки нет, выводится вычисленный результат.

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

asin(2.000000) = nan radians

asin()Функция используется для вычисления арксинуса заданного значения и является распространённым инструментом для работы с обратными тригонометрическими операциями. При её использовании следует убедиться, что входное значение находится в диапазоне [-1, 1], и обрабатывать возможные ошибки. Преобразовав результат в градусы, можно понять результат более наглядно.

Стандартная библиотека C - <math.h>

Другие расширения