Visual studio как подключить библиотеку math
Рассмотрим основные методы класса Math:
Abs(double value) : возвращает абсолютное значение для аргумента value
Acos(double value) : возвращает арккосинус value. Параметр value должен иметь значение от -1 до 1
Asin(double value) : возвращает арксинус value. Параметр value должен иметь значение от -1 до 1
Atan(double value) : возвращает арктангенс value
BigMul(int x, int y) : возвращает произведение x * y в виде объекта long
Ceiling(double value) : возвращает наименьшее целое число с плавающей точкой, которое не меньше value
Cos(double d) : возвращает косинус угла d
Cosh(double d) : возвращает гиперболический косинус угла d
DivRem(int a, int b, out int result) : возвращает результат от деления a/b, а остаток помещается в параметр result
Exp(double d) : возвращает основание натурального логарифма, возведенное в степень d
Floor(decimal d) : возвращает наибольшее целое число, которое не больше d
IEEERemainder(double a, double b) : возвращает остаток от деления a на b
Log(double d) : возвращает натуральный логарифм числа d
Log(double a, double newBase) : возвращает логарифм числа a по основанию newBase
Log10(double d) : возвращает десятичный логарифм числа d
Max(double a, double b) : возвращает максимальное число из a и b
Min(double a, double b) : возвращает минимальное число из a и b
Pow(double a, double b) : возвращает число a, возведенное в степень b
Round(double d) : возвращает число d, округленное до ближайшего целого числа
Round(double a, int b) : возвращает число a, округленное до определенного количества знаков после запятой, представленного параметром b
Sign(double value) : возвращает число 1, если число value положительное, и -1, если значение value отрицательное. Если value равно 0, то возвращает 0
Sin(double value) : возвращает синус угла value
Sinh(double value) : возвращает гиперболический синус угла value
Sqrt(double value) : возвращает квадратный корень числа value
Tan(double value) : возвращает тангенс угла value
Tanh(double value) : возвращает гиперболический тангенс угла value
Truncate(double value) : отбрасывает дробную часть числа value, возвращаяя лишь целое значние
Также класс Math определяет две константы: Math.E и Math.PI . Например, вычислим площадь круга:
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет константы и статические методы для тригонометрических, логарифмических и иных общих математических функций.
Примеры
В следующем примере используется несколько математических и тригонометрических функций из Math класса для вычисления внутренних углов трапециоида.
Представляет основание натурального логарифма, определяемое константой e .
Представляет отношение длины окружности к ее диаметру, определяемое константой π.
Представляет число радианов в полном обороте, заданное константой τ.
Методы
Возвращает абсолютное значение числа Decimal.
Возвращает абсолютное значение числа двойной точности с плавающей запятой.
Возвращает абсолютное значение 16-битового целого числа со знаком.
Возвращает абсолютное значение 32-битового целого числа со знаком.
Возвращает абсолютное значение 64-битового целого числа со знаком.
Возвращает абсолютное значение собственного целого числа со знаком.
Возвращает абсолютное значение числа одинарной точности с плавающей запятой.
Возвращает угол, косинус которого равен указанному числу.
Возвращает угол, гиперболический косинус которого равен указанному числу.
Возвращает угол, синус которого равен указанному числу.
Возвращает угол, гиперболический синус которого равен указанному числу.
Возвращает угол, тангенс которого равен указанному числу.
Возвращает угол, тангенс которого равен отношению двух указанных чисел.
Возвращает угол, гиперболический тангенс которого равен указанному числу.
Умножает два 32-битовых числа.
Формирует полное произведение двух 64-битовых чисел.
Формирует полное произведение двух 64-битовых чисел без знака.
Возвращает ближайшее самое маленькое значение, которое меньше, чем x .
Возвращает ближайшее самое большое значение, превышающее x .
Возвращает кубический корень из указанного числа.
Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу.
Возвращает наименьшее целое число, которое больше или равно заданному числу с плавающей запятой двойной точности.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает value , ограниченное диапазоном от min до max включительно.
Возвращает значение с величиной x и знаком y .
Возвращает косинус указанного угла.
Возвращает гиперболический косинус указанного угла.
Создает цитиент и оставшуюся часть двух 16-разрядных чисел со знаком.
Создает цитент и оставшуюся часть двух 32-разрядных чисел со знаком.
Вычисляет частное двух 32-разрядных знаковых целых чисел и возвращает остаток в выходном параметре.
Создает цитиент и оставшуюся часть двух 64-разрядных чисел со знаком.
Вычисляет частное двух 64-битовых целых чисел со знаком и возвращает остаток в выходном параметре.
Создает частное и оставшееся число двух подписанных собственных чисел.
Создает цитент и оставшуюся часть двух 16-разрядных чисел без знака.
Создает цитент и оставшуюся часть двух неподписанных 32-разрядных чисел.
Создает цитент и оставшуюся часть двух 64-разрядных чисел без знака.
Создает частное и оставшееся число двух неподписанных собственных чисел.
Возвращает e , возведенное в указанную степень.
Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу.
Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.
Возвращает значение (x * y) + z, округленное в рамках одной тернарной операции.
Возвращает остаток от деления одного указанного числа на другое указанное число.
Возвращает целочисленный логарифм с основанием 2 указанного числа.
Возвращает натуральный логарифм (с основанием e ) указанного числа.
Возвращает логарифм указанного числа в системе счисления с указанным основанием.
Возвращает логарифм с основанием 10 указанного числа.
Возвращает логарифм с основанием 2 указанного числа.
Возвращает большее из двух десятичных чисел.
Возвращает большее из двух чисел двойной точности с плавающей запятой.
Возвращает большее из двух 16-битовых целых чисел со знаком.
Возвращает большее из двух 32-битовых целых чисел со знаком.
Возвращает большее из двух 64-битовых целых чисел со знаком.
Возвращает больше двух собственных целых чисел со знаком.
Возвращает большее из двух чисел одинарной точности с плавающей запятой.
Возвращает большее из двух 16-битовых целых чисел без знака.
Возвращает большее из двух 32-битовых целых чисел без знака.
Возвращает большее из двух 64-битовых целых чисел без знака.
Возвращает больше двух собственных целых чисел без знака.
Возвращает большую величину из двух чисел двойной точности с плавающей запятой.
Возвращает меньшее из двух десятичных чисел.
Возвращает меньшее из двух чисел двойной точности с плавающей запятой.
Возвращает меньшее из двух 16-битовых целых чисел со знаком.
Возвращает меньшее из двух 32-битовых целых чисел со знаком.
Возвращает меньшее из двух 64-битовых целых чисел со знаком.
Возвращает меньшее из двух собственных целых чисел со знаком.
Возвращает меньшее из двух чисел одинарной точности с плавающей запятой.
Возвращает меньшее из двух 16-битовых целых чисел без знака.
Возвращает меньшее из двух 32-битовых целых чисел без знака.
Возвращает меньшее из двух 64-битовых целых чисел без знака.
Возвращает меньшее из двух собственных целых чисел без знака.
Возвращает меньшую величину из двух чисел двойной точности с плавающей запятой.
Возвращает указанное число, возведенное в указанную степень.
Возвращает оценку взаимности указанного числа.
Возвращает оценку обратного квадратного корня указанного числа.
Округляет десятичное значение до ближайшего целого значения; значения посередине округляются до ближайшего четного числа.
Округляет десятичное значение до указанного числа знаков после запятой; значения посередине округляются до ближайшего четного числа.
Округляет десятичное значение до указанного числа дробных цифр, используя указанное соглашение округления.
Округляет десятичное значение целым числом, используя указанное соглашение округления.
Округляет значение с плавающей запятой двойной точности до ближайшего целого значения; значения посередине округляются до ближайшего четного числа.
Округляет значение с плавающей запятой двойной точности до указанного числа знаков после запятой; значения посередине округляются до ближайшего четного числа.
Округляет значение с плавающей запятой двойной точности до указанного числа дробных цифр, используя указанное соглашение округления.
Округляет значение с плавающей запятой двойной точности до целого числа, используя указанное соглашение округления.
Возвращает значение x * 2^n, вычисленное эффективно.
Возвращает целое число, указывающее знак десятичного числа.
Возвращает целое число, обозначающее знак числа двойной точности с плавающей запятой.
Возвращает целое число, указывающее знак 16-разрядного целого числа со знаком.
Возвращает целое число, указывающее знак 32-разрядного целого числа со знаком.
Возвращает целое число, указывающее знак 64-разрядного целого числа со знаком.
Возвращает целое число, указывающее знак целого числа со знаком собственного размера со знаком.
Возвращает целое число, обозначающее знак числа с плавающей запятой одиночной точности.
Возвращает синус указанного угла.
Возвращает синус и косинус указанного угла.
Возвращает гиперболический синус указанного угла.
Возвращает квадратный корень из указанного числа.
Возвращает тангенс указанного угла.
Возвращает гиперболический тангенс указанного угла.
Вычисляет целую часть заданного десятичного числа.
Вычисляет целую часть заданного числа двойной точности с плавающей запятой.
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.
Examples
The following example uses several mathematical and trigonometric functions from the Math class to calculate the inner angles of a trapezoid.
Fields
Represents the natural logarithmic base, specified by the constant, e .
Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.
Represents the number of radians in one turn, specified by the constant, τ.
Methods
Returns the absolute value of a Decimal number.
Returns the absolute value of a double-precision floating-point number.
Returns the absolute value of a 16-bit signed integer.
Returns the absolute value of a 32-bit signed integer.
Returns the absolute value of a 64-bit signed integer.
Returns the absolute value of a native signed integer.
Returns the absolute value of a single-precision floating-point number.
Returns the angle whose cosine is the specified number.
Returns the angle whose hyperbolic cosine is the specified number.
Returns the angle whose sine is the specified number.
Returns the angle whose hyperbolic sine is the specified number.
Returns the angle whose tangent is the specified number.
Returns the angle whose tangent is the quotient of two specified numbers.
Returns the angle whose hyperbolic tangent is the specified number.
Produces the full product of two 32-bit numbers.
Produces the full product of two 64-bit numbers.
Produces the full product of two unsigned 64-bit numbers.
Returns the next smallest value that compares less than x .
Returns the next largest value that compares greater than x .
Returns the cube root of a specified number.
Returns the smallest integral value that is greater than or equal to the specified decimal number.
Returns the smallest integral value that is greater than or equal to the specified double-precision floating-point number.
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns value clamped to the inclusive range of min and max .
Returns a value with the magnitude of x and the sign of y .
Returns the cosine of the specified angle.
Returns the hyperbolic cosine of the specified angle.
Produces the quotient and the remainder of two signed 16-bit numbers.
Produces the quotient and the remainder of two signed 32-bit numbers.
Calculates the quotient of two 32-bit signed integers and also returns the remainder in an output parameter.
Produces the quotient and the remainder of two signed 64-bit numbers.
Calculates the quotient of two 64-bit signed integers and also returns the remainder in an output parameter.
Produces the quotient and the remainder of two signed native-size numbers.
Produces the quotient and the remainder of two unsigned 16-bit numbers.
Produces the quotient and the remainder of two unsigned 32-bit numbers.
Produces the quotient and the remainder of two unsigned 64-bit numbers.
Produces the quotient and the remainder of two unsigned native-size numbers.
Returns e raised to the specified power.
Returns the largest integral value less than or equal to the specified decimal number.
Returns the largest integral value less than or equal to the specified double-precision floating-point number.
Returns (x * y) + z, rounded as one ternary operation.
Returns the remainder resulting from the division of a specified number by another specified number.
Returns the base 2 integer logarithm of a specified number.
Returns the natural (base e ) logarithm of a specified number.
Returns the logarithm of a specified number in a specified base.
Returns the base 10 logarithm of a specified number.
Returns the base 2 logarithm of a specified number.
Returns the larger of two decimal numbers.
Returns the larger of two double-precision floating-point numbers.
Returns the larger of two 16-bit signed integers.
Returns the larger of two 32-bit signed integers.
Returns the larger of two 64-bit signed integers.
Returns the larger of two native signed integers.
Returns the larger of two single-precision floating-point numbers.
Returns the larger of two 16-bit unsigned integers.
Returns the larger of two 32-bit unsigned integers.
Returns the larger of two 64-bit unsigned integers.
Returns the larger of two native unsigned integers.
Returns the larger magnitude of two double-precision floating-point numbers.
Returns the smaller of two decimal numbers.
Returns the smaller of two double-precision floating-point numbers.
Returns the smaller of two 16-bit signed integers.
Returns the smaller of two 32-bit signed integers.
Returns the smaller of two 64-bit signed integers.
Returns the smaller of two native signed integers.
Returns the smaller of two single-precision floating-point numbers.
Returns the smaller of two 16-bit unsigned integers.
Returns the smaller of two 32-bit unsigned integers.
Returns the smaller of two 64-bit unsigned integers.
Returns the smaller of two native unsigned integers.
Returns the smaller magnitude of two double-precision floating-point numbers.
Returns a specified number raised to the specified power.
Returns an estimate of the reciprocal of a specified number.
Returns an estimate of the reciprocal square root of a specified number.
Rounds a decimal value to the nearest integral value, and rounds midpoint values to the nearest even number.
Rounds a decimal value to a specified number of fractional digits, and rounds midpoint values to the nearest even number.
Rounds a decimal value to a specified number of fractional digits using the specified rounding convention.
Rounds a decimal value an integer using the specified rounding convention.
Rounds a double-precision floating-point value to the nearest integral value, and rounds midpoint values to the nearest even number.
Rounds a double-precision floating-point value to a specified number of fractional digits, and rounds midpoint values to the nearest even number.
Rounds a double-precision floating-point value to a specified number of fractional digits using the specified rounding convention.
Rounds a double-precision floating-point value to an integer using the specified rounding convention.
Returns x * 2^n computed efficiently.
Returns an integer that indicates the sign of a decimal number.
Returns an integer that indicates the sign of a double-precision floating-point number.
Returns an integer that indicates the sign of a 16-bit signed integer.
Returns an integer that indicates the sign of a 32-bit signed integer.
Returns an integer that indicates the sign of a 64-bit signed integer.
Returns an integer that indicates the sign of a native sized signed integer.
Returns an integer that indicates the sign of a single-precision floating-point number.
Returns the sine of the specified angle.
Returns the sine and cosine of the specified angle.
Returns the hyperbolic sine of the specified angle.
Returns the square root of a specified number.
Returns the tangent of the specified angle.
Returns the hyperbolic tangent of the specified angle.
Calculates the integral part of a specified decimal number.
Calculates the integral part of a specified double-precision floating-point number.
В стандартную математическую библиотеку языка Си (а, значит, и C++) входит множество специальных математических функций, которые нужно знать и уметь использовать. Для того, чтобы использовать эти функции в своей программе, необходимо подключить заголовочный файл, содержащий описания этих функций, что делается строчкой в начале программы:
В языке C++ нужно указывать название заголовочного файла так:
Функция от одного аргумента вызывается, например, так: sin(x) . Вместо числа x может быть любое число, переменная или выражение. Функция возвращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:
Функция | Описание |
---|---|
Округление | |
round | Округляет число по правилам арифметики, то есть round(1.5) == 2 , round(-1.5) == -2 |
floor | Округляет число вниз (“пол”), при этом floor(1.5) == 1 , floor(-1.5) == -2 |
ceil | Округляет число вверх (“потолок”), при этом ceil(1.5) == 2 , ceil(-1.5) == -1 |
trunc | Округление в сторону нуля (отбрасывание дробной части), при этом trunc(1.5) == 1 , trunc(-1.5) == -1 |
fabs | Модуль (абсолютная величина) |
Корни, степени, логарифмы | |
sqrt | Квадратный корень. Использование: sqrt(x) |
cbrt | Кубический корень. Использование: cbrt(x) |
pow | Возведение в степень, возвращает a b . Использование: pow(a,b) |
exp | Экспонента, возвращает e x . Использование: exp(x) |
log | Натуральный логарифм |
log10 | Десятичный логарифм |
Тригонометрия | |
sin | Синус угла, задаваемого в радианах |
cos | Косинус угла, задаваемого в радианах |
tan | Тангенс угла, задаваемого в радианах |
asin | Арксинус, возвращает значение в радианах |
acos | Арккосинус, возвращает значение в радианах |
atan | Арктангенс, возвращает значение в радианах |
Также в файле cmath есть набор полезных числовых констант, например, константа M_PI хранит значение числа \(\pi\).
В компиляторе Visual C++ для использования этих констант необходимо объявить директиву препроцессора _USE_MATH_DEFINES перед подключения заголовочного файла cmath .
Для действительных чисел определены операции сложения, вычитания, умножения и деления.
При этом операция деления выполняется по-разному для переменных и констант целочисленного типа и для переменных и констант действительных типов. В первом случае деление производится нацело с отбрасыванием дробной части, во втором случае — деление производится точно и результатом является действительное число. Более точно, если делимое и делитель одновременно являются целочисленными константами или переменными целочисленных типов, то деление будет целочисленным, а если хотя бы одно из них действительное, то деление будет действительным. Например:
printf("%lf\n", 10 / 3);
printf("%lf\n", 10. / 3);
printf("%lf\n", 10 / 3.);
printf("%lf\n", 10. / 3.);
выведет 3 в первой строке и 3.33333 в остальных строках.
Результат выполнения деления не зависит от того, какой переменной будет присвоен результат. Если написать double a = 10 / 3; , то переменная a будет равна 3, так как деление 10/3 будет целочисленным, независимо от того, чему будет присвоен результат.
1>------ Build started: Project: 0012, Configuration: Debug Win32 ------
1>Compiling.
1>0012.cpp
1>c:\files\olimp\0012.cpp(14) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>c:\files\olimp\0012.cpp(15) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>c:\files\olimp\0012.cpp(16) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>c:\files\olimp\0012.cpp(17) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>c:\files\olimp\0012.cpp(18) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>c:\files\olimp\0012.cpp(19) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>c:\files\olimp\0012.cpp(20) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>c:\files\olimp\0012.cpp(21) : error C2668: 'sqrt' : ambiguous call to overloaded function
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(581): could be 'long double sqrt(long double)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(533): or 'float sqrt(float)'
1> c:\program files (x86)\microsoft visual studio 8\vc\include\math.h(128): or 'double sqrt(double)'
1> while trying to match the argument list '(int)'
1>Build log was saved at "file://c:\Users\Alex\Documents\Visual Studio 2005\Projects\0012\0012\Debug\BuildLog.htm"
1>0012 - 8 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Читайте также: