Как вычислить корень из числа в c
Стандартная библиотека языка Си предоставляет ряд математических функций, которые определены в разных заголовочных файлах, но в основном определены в файле math.h .
Степерь числа. pow
Функция pow() , определенная в заголовочном файле math.h , возвращает степень числа:
Стоит отметить, что эта функция возвращает число типа double .
Для возведения в степень чисел типа float и long double также определены функции powf() и powl() соответственно.
Округление числа. round
Функция round() округляет число до ближайшего целого. В качестве параметра она принимает число типа double :
Квадратный корень. sqrt
Функция sqrt() возвращает квадратный корень числа типа double :
Для получения квадратного корня числа float также есть функция sqrtf() , а для числа типа long double — функция sqrtl()
std:: sqrt, std:: sqrtf, std:: sqrtl
If no errors occur, square root of arg ( \( <\small \sqrt
If a domain error occurs, an implementation-defined value is returned (NaN where supported)
If a range error occurs due to underflow, the correct result (after rounding) is returned.
[edit] Error handling
Errors are reported as specified in math_errhandling
Domain error occurs if arg is less than zero.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),
- If the argument is less than -0, FE_INVALID is raised and NaN is returned.
- If the argument is +∞ or ±0, it is returned, unmodified.
- If the argument is NaN, NaN is returned
[edit] Notes
std::sqrt is required by the IEEE standard to be correctly rounded from the infinitely precise result. In particular, the exact result is produced if it can be represented in the floating-point type. The only other operations which require this are the arithmetic operators and the function std::fma . Other functions, including std::pow , are not so constrained.
Класс Math для математических вычислений в C#
Статический класс Math содержит ряд методов и констант для выполнения математических, тригонометрических, логарифмических и других операций. Так как класс статический, то и все его методы также являются статическими, т.е. вызывать эти методы можно без создания объекта типа Math . Рассмотрим основные методы этого класса.
Тригонометрические функции (синус, косинус, тангенс)
Cos(x) — возвращает косинус указанного угла x . Например,
Sin(x) — возвращает синус указанного угла x . Например,
Tan(x) — возвращает тангенс указанного угла x . Например,
Обратные тригонометрические функции (арккосинус, арксинус, арктангенс)
Acos(x) — вычисляет арккосинус заданного числа. Параметр x должен находиться в диапазоне от -1 до 1. Значение, возвращаемое методом — радианы. Пример:
Asin(x) — вычисляет арксинус числа. Параметр x должен находиться в диапазоне от -1 до 1. Например,
Atan(x) — возвращает арктангенс числа. Значение, возвращаемое методом лежит в диапазоне от -Пи/2 до +Пи/2. Например,
Atan2(x, y) — возвращает арктангенс для точки в декартовой системе координат с координатами ( x,y ). Например,
Этот метод возвращает значение (θ), в зависимости от того, в каком квадранте располагается точка, а именно:
- для ( x , y ) в квадранте 1: 0 < θ < π/2.
- для ( x , y ) в квадранте 2: π/2 < θ ≤ π.
- для ( x , y ) в квадранте 3: -π < θ < -π/2.
- для ( x , y ) в квадранте 4: -π/2 < θ < 0.
При этом стоит особо отметить, что точки могут лежать и за пределами указанных квадрантов, например, когда одна из координат равна нулю. В этом случае метод работает следующим образом:
- если y равно 0, и x не является отрицательным, то θ = 0.
- если y равно 0, и x является отрицательным, то θ = π.
- если y — положительное число, а x равно 0, то θ = π/2.
- если y — отрицательное число, а х равно 0, то θ = -π/2.
- если y равен 0, и х равен 0, то θ = 0.
Гиперболические функции (гаперболический косинус, гиперболический синус, гиперболический тангенс)
Cosh(x) — вычисляет гиперболический косинус указанного угла
Sinh(x) — вычисляет гиперболический синус указанного угла
Tanh(x) — вычисляет гиперболический тангенс указанного угла
Обратные гиперболические функции (ареакосинус, ареасинус, ареатангенс)
Acosh(x) — вычисляет ареакосинус. Параметр x должен быть больше 1. Например,
Asinh(x) — вычисляет ареасинус. Например,
Atanh(x) — вычисляет ареатангенс. Значение x должно быть в пределах от -1 до 1. Например,
Вычисление логарифмов в C#
ILogB(x) — вычисляет целочисленный логарифм с основанием 2 указанного числа, то есть значение (int)log2(x) .
Log2(x) — вычисляет логарифм с основанием 2 указанного числа.
Log(x) — вычисляет натуральный логарифм (с основанием e ) указанного числа.
Log(x, y) — вычисляет логарифм указанного числа x по основанию y .
Log10(x) — вычисляет логарифм с основанием 10 указанного числа
Методы округления чисел в C#
Ceiling(x) — возвращает наименьшее целое число, которое больше или равно заданному числу
Floor(x) — возвращает наибольшее целое число, которое меньше или равно указанному числу
Round(x) — округляет значение до ближайшего целого значения; значения посередине округляются до ближайшего четного числа
Round(x, Int32 y) — округляет значение до указанного числа знаков после запятой; значения посередине округляются до ближайшего четного числа.
Round(x, Int32 y, Midpoint Rounding) — округляет значение до указанного числа дробных цифр, используя указанное соглашение о округлении
Round(x, Midpoint Rounding) — округляет значение на целое число, используя указанное соглашение об округлении
Truncate(x) — вычисляет целую часть заданного числа
Сравнение различных методов округления в C#
| 7,256 | 7,556 | 7,5 | |
| Ceiling(x) | 8 | 8 | 8 |
| Floor(x) | 7 | 7 | 7 |
| Round(x) | 7 | 8 | 8 |
| Round(x, 2) | 7,26 | 7,56 | 7,5 |
| Round(x, ToZero) | 7 | 7 | 7 |
| Round(x, 2, ToZero) | 7,25 | 7,55 | 7,5 |
| Round(x, 2, ToPositiveInfinity) | 7,26 | 7,56 | 7,5 |
| Round(x, 2, ToNegativeInfinity) | 7,25 | 7,55 | 7,5 |
| Round(x, 2, ToEven) | 7,26 | 7,56 | 7,5 |
| Truncate(x) | 7 | 7 | 7 |
Возведение в степень и извлечение корней в C#
Cbrt(x) — возвращает кубический корень из x .
Exp(x) — возвращает e , возведенное в указанную степень x .
Pow(x, y) — возвращает число x , возведенное в степень y .
Sqrt(x) — возвращает квадратный корень из числа x .
Прочие математические операции
Abs(x) — возвращает абсолютное значение числа
Big Mul(Int32, Int32) — умножает два 32-битовых числа и возвращает значение в Int64 .
Bit Decrement(x) — возвращает ближайшее самое маленькое значение, которое меньше, чем x .
Bit Increment(Double) — возвращает наименьшее ближайшее значение, которое больше указанного значения
Clamp(x, min, max) — Возвращает x , ограниченное диапазоном от min до max включительно.
Copy Sign(Double, Double) — возвращает значение с величиной x и знаком y .
Div Rem(Int32, Int32, Int32) — Вычисляет частное чисел и возвращает остаток в выходном параметре
Fused Multiply Add(x, y, z) — возвращает значение (x * y) + z, округленное в рамках одной тернарной операции.
Метод Fused Multiply Add округляет значение один раз — в конце вычислений, в то время как обычное вычисление (x * y) + z вначале округляет значение, полученное в скобках, затем добавляет к полученному значению z и ещё раз округляет результат.
IEEERemainder(x, y) — Возвращает остаток от деления одного указанного числа на другое указанное число
Функция IEEERemainder не совпадает с оператором % , который также вычисляет остаток от деления. Различие заключается в формулах, используемых при вычислениях. Оператор действует следующим образом:
a % b = (Math.Abs(а) — (Math.Abs(b) * (Math.Floor(Math.Abs(a) / Math.Abs(b))))) * Math.Sign(a)
в то время, как метод IEEERemainder производит вычисления следующим образом:
IEEERemainder(а,b) = a-(b * Math.Round(a/b))
Max(x, y) — возвращает большее из чисел
Max Magnitude(x, y) — возвращает большую величину из двух чисел двойной точности с плавающей запятой. При сравнении двух чисел не учитывается знак
Min(Byte, Byte) — возвращает меньшее из двух чисел
Min Magnitude(x, y) — возвращает меньшую величину из чисел. При сравнении не учитывается знак
ScaleB(x, y) — Возвращает значение x * 2^n, вычисленное наиболее эффективно.
Sign(x) — возвращает целое число, указывающее знак десятичного числа.
Константы класса Math
В классе Math также определены две константы — E и PI :
Итого
В статическом классе Math содержатся функции для тригонометрических, гиперболических и прочих вычислений. Кроме этого, класс содержит ряд методов округления чисел как в большую, так и меньшую сторону, а также методы для возведения чисел в степень и вычисления корней.
Квадратный корень в программировании: как вычислить в разных языках
Квадратный корень в программировании вычисляется во многих языках программирования при помощи специальных функций. Но есть языки, в которых нет встроенных функций для извлечения корня, — тогда в них приходится «изворачиваться» собственными методами. Поэтому важно вспомнить, что такое корень числа, из курса математики, чтобы правильно его извлекать «собственными методами».
Квадратный корень из числа А — это некое число В, которое при умножении на сам о себя (возведение во 2-ю степень) дает число А. Все это можно выразить формулой: А=В 2 или А=В*В.
Извлечением корня из числа А называют операцию по поиску числа В. Мы покажем , как это делается в нескольких языках программирования.
Извлечение корня в Java
При программировании на Java извлечение корня происходит при помощи класса «Math» и метода «static double sqrt(double a)».
Как выглядит извлечение корня в коде:
public class TestSqrt <
public static void main(String[] args) <
int x = 9;
double y = Math.sqrt(x);
System.out.println(«Корень квадратный из числа » + x + » будет равен » + y);
>
>
Запустив эту программу , мы получим следующий результат:
Корень квадратный из числа 9 будет равен 3
Извлечение корня в Python
Для вычисления квадратного корня в Python применяется функция «sqrt()», которая расположена в модуле «math».
Как извлечение корня выглядит в коде:
import math
num b er = 9
sqrt = math.sqrt(number)
print(«Корень квадратный из числа » + str(number) + » будет равен » + str(sqrt))
Запустив эту программу , мы получим следующий результат:
Корень квадратный из числа 9 будет равен 3
Есть еще один изящный способ извлеч ения кор ня на языке программирования Python — применить возведение в степень «0 , 5». Кстати, такой способ применим и в других языках программирования, где отсутствует функция для вычисления квадратного корня. Как это выглядит в коде:
number = 9
sqrt = number ** (0.5)
print («Корень квадратный из числа «+str(num)+» будет равен «+str(sqrt))
Запуск этой программы выдаст такой же результат, как и в первом случае:
Корень квадратный из числа 9 будет равен 3
Напомним, что символы «**» являются оператором возведения в степень.
Как извлечь квадратный корень в Си
Извлечь корень на С/С++ не сложнее, чем в предыдущих языках программирования, так как здесь для вычисления квадратного корня применяется такая же функция sqrt() из модуля «cmath».
Как извлечение корня выглядит в коде:
#include <iosteram>
#include <cmath>
using namespace std;
int main()
<
double y = 9, result;
result = sqrt(y);
cout < < “Корень квадратный из числа “ < < y < < “будет равен “ < < result < < endl;
return 0;
>
Запустив эту программу , мы получим следующий результат:
Корень квадратный из числа 9 будет равен 3
Заключение
Квадра т ный корень в программировании не сложно вычислить, если язык программирования содержит стандартные функции и модули для того, чтобы осуществлять подобные вычисления. В других же случая х п ридется искать дополнительные методы, например , такой как возведение числа в степень 0 , 5.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.