Как написать экспоненту в C?

How Do You Write An Exponent C



В языке C значение экспоненты может быть вычислено с использованием NS () функция. Из этой статьи вы узнаете, как использовать NS () функция для выполнения операции возведения в степень. Мы также узнаем, как использовать оператор битового сдвига для выполнения операции возведения в степень. Мы попробуем написать пользовательскую функцию для вычисления показателей. Итак, приступим.

Синтаксис

двойной NS ( двойной база, двойной exp);







В NS () функция определена в math.h заголовочный файл.



Аргументы

Эта функция принимает два аргумента: база а также exp, рассчитать стоимость база возведен во власть exp . Здесь база а также exp оба двойные.



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

В случае успеха NS () функция возвращает значение база возведен во власть exp .





Если значение exp равно 0, NS () функция возвращает 1.

Если база отрицательный и exp нецелочисленный, NS () функция возвращает NaN (Не-число).



Примеры

//Example1.c
#включают
#включают

intглавный()
{

intрезультат;
результатзнак равно (int) NS (3,5);
printf (' пpow (3,5) =>% d ',результат);
printf (' пpow (3, -5) =>% lf ', NS (3, -5));
printf (' пpow (-3, -5) =>% lf ', NS (-3, -5));
printf (' пpow (3,5.1) =>% lf ', NS (3,5.1));
printf (' пpow (-3,5.1) =>% lf ', NS (-3,5.1));
printf (' пpow (-3, -5.1) =>% lf п', NS (-3, -5.1));

возвращение 0;
}

В Example1.c мы видели вывод NS () функция. Здесь мы используем -lm параметр командной строки для ссылки в математической библиотеке. В строках с 10 по 13 мы получили ожидаемый результат. Для строк 14 и 15 у нас есть -нан (Не число), потому что второй аргумент не является целым.

Экспонента с использованием битового сдвига

Если мы хотим вычислить показатель степени в степени 2, мы можем сделать это, используя битовый сдвиг.

Левый сдвиг на m эквивалентен первому члену и 2 - степени m.

п<< m = n * pow (2, м)

Сдвиг вправо на m эквивалентен делению первого члена и 2 в степени m.

п >> м = n / pow (2, м)

Это работает только тогда, когда m положительно.

//Example2.c
#включают

intглавный()
{
printf (' п1<%d',1<<3);
printf (' п5<%d',5<<3);
printf (' п-5<%d', -53 => %d', 40 >> 3);
printf ('
п40>>3 => %d', 40 >> 3);
printf ('
п-40>>3 => %г п', -40 >> 3);

возврат 0;
}

В примере 2.c мы увидели, как можно использовать оператор сдвига битов для экспоненты в степени 2. Это очень полезно для уменьшения сложности кода.

Экспонента с использованием пользовательской функции

Мы можем написать пользовательскую функцию для вычисления показателей. В Example3.c мы напишем пользовательскую функцию экспонента (), который принимает два аргумента: based и exp типа float ant integer.

//Example3.c
#включают

плаватьэкспонента(плаватьбаза, int exp )
{
плаватьрезультатзнак равно1.0;
плаватья;
если( exp < 0)
{
exp знак равно -1 * exp ;
для(язнак равно1;я<= exp ;я++)
результатзнак равнорезультат*база;

результатзнак равно 1.0/результат;
}
еще
{
для(язнак равно1;я%ж', показатель степени (3,0));
printf ('
nexponent(3, -5) => %ж', показатель степени (3, -5));
printf ('
nexponent(-3, -5) => %ж', показатель степени (-3, -5));

возврат 0;
}

Example3.c мы видели вывод пользовательской функции экспонента () . Эта функция работает, когда показатель степени является целым. Для действительной экспоненты мы должны использовать NS () функция.

Заключение

В этой статье мы видели использование NS () функция и Битовый сдвиг оператор, как можно вычислить экспоненту на языке C. Мы также научились писать нашу собственную функцию для вычисления показателей. Теперь мы без всяких сомнений можем использовать эти методы в нашей программе на языке C.