Why do you have to link the math library in C?
If I include <stdlib.h> or <stdio.h> in a C program, I don’t have to link these when compiling, but I do have to link to <math.h> , using -lm with GCC, for example:
What is the reason for this? Why do I have to explicitly link the math library, but not the other libraries?
14 Answers 14
The functions in stdlib.h and stdio.h have implementations in libc.so (or libc.a for static linking), which is linked into your executable by default (as if -lc were specified). GCC can be instructed to avoid this automatic link with the -nostdlib or -nodefaultlibs options.
The math functions in math.h have implementations in libm.so (or libm.a for static linking), and libm is not linked in by default. There are historical reasons for this libm / libc split, none of them very convincing.
Interestingly, the C++ runtime libstdc++ requires libm , so if you compile a C++ program with GCC ( g++ ), you will automatically get libm linked in.
Remember that C is an old language and that FPUs are a relatively recent phenomenon. I first saw C on 8-bit processors where it was a lot of work to do even 32-bit integer arithmetic. Many of these implementations didn’t even have a floating point math library available!
Even on the first 68000 machines (Mac, Atari ST, Amiga), floating point coprocessors were often expensive add-ons.
To do all that floating point math, you needed a pretty sizable library. And the math was going to be slow. So you rarely used floats. You tried to do everything with integers or scaled integers. When you had to include math.h, you gritted your teeth. Often, you’d write your own approximations and lookup tables to avoid it.
Trade-offs existed for a long time. Sometimes there were competing math packages called «fastmath» or such. What’s the best solution for math? Really accurate but slow stuff? Inaccurate but fast? Big tables for trig functions? It wasn’t until coprocessors were guaranteed to be in the computer that most implementations became obvious. I imagine that there’s some programmer out there somewhere right now, working on an embedded chip, trying to decide whether to bring in the math library to handle some math problem.
That’s why math wasn’t standard. Many or maybe most programs didn’t use a single float. If FPUs had always been around and floats and doubles were always cheap to operate on, no doubt there would have been a «stdmath».
Математические константы и операции
Последнее обновление: 13.02.2023
Математические константы
Начиная со стандарта C++20 стандартная библиотека предоставляет модуль numbers, который содержит ряд встроенных математических констант.
Некоторые наиболее распростраенные:
-
: число 2.71828 (основание натурального алгоритма)
-
: число π —
-
: квадратный корень числа 2 —
-
: золотое сечение (число Фидия) φ —
Все эти числа представляют тип double
Математические функции
Заголовочный файл <cmath> стандартной библиотеки C++ определяет набор математических функций.
которые можно использовать в программах. Перечислю наиболее распространенные:
-
: вычисляет абсолютное значение arg. В отличие от большинства функций , abs() возвращает
целочисленный тип, если arg является целым числом. -
: вычисляет ближайшее целое число, большее или равное arg, и возвращает его в виде числа с плавающей точкой. Например, выражение
возвращает , а — . (дробная часть округляется до единицы) -
: вычисляет ближайшее целое число, меньшее или равное arg, и возвращает его в виде числа с плавающей точкой. Например, выражение возвращает 2.0, а — число -3.0. (дробная часть округляется до нуля)
-
: вычисляет выражение .
-
: вычисляет натуральный логарифм (по основанию e) числа arg.
-
: вычисляет логарифм по основанию 10 от arg.
-
: вычисляет значение arg1, возведенное в степень arg2, то есть . Числа arg1 и arg2
могут быть целочисленными или с плавающей запятой. Так, результат равен 8.0, а равно 2,0. -
: вычисляет квадратный корень из arg.
-
, и округляют число до ближайщего целого.
Разница между ними состоит в типа возвращаемого результата: возвращает число с плавающей точкой, —
число , а — .Половинные значения округляются до нуля: возвращает , тогда как возвращает -2.0f.
-
: вычисляет синус угла, при этом arg представляет значение в радианах.
-
: вычисляет косинус угла.
-
: вычисляет тангенс угла.
-
: возвращает , если аргумент представляет +-бесконечность.
-
: возвращает , если аргумент представляет NaN.
Пример применения некоторых функций:
#include <iostream> #include <math.h> // подключаем заголовочный файл math.h int main() { std::cout << "abs(-3) = " << std::abs(-3)<< "\n"; std::cout << "pow(-3, 2) = " << std::pow(-3, 2)<< "\n"; std::cout << "round(-3.4) = " << std::round(-3.2)<< "\n"; std::cout << "ceil(3.2) = " << std::ceil(3.2)<< "\n"; std::cout << "floor(3.2) = " << std::floor(3.2)<< "\n"; std::cout << "ceil(-3.2) = " << std::ceil(-3.2)<< "\n"; std::cout << "floor(-3.2) = " << std::floor(-3.2)<< "\n"; }
Консольный вывод:
abs(-3) = 3 pow(-3, 2) = 9 round(-3.4) = -3 ceil(3.2) = 4 floor(3.2) = 3 ceil(-3.2) = -3 floor(-3.2) = -4
Проверка результата арифметических операций на NaN и бесконечность:
#include <iostream> #include <math.h> int main() { double a{ 1.5 }, b{-1.5}, c{}, d {}; std::cout << a << "/" << b << " is Infinity? " << std::isinf(a / b) << std::endl; std::cout << a << "/" << b << " is Nan? " << std::isnan(a / b) << std::endl; std::cout << a << "/" << c << " is Infinity? " << std::isinf(a / c) << std::endl; std::cout << c << "/" << d << " is NaN? " << std::isnan(c / d) << std::endl; }
Консольный вывод:
1.5/-1.5 is Infinity? 0 1.5/-1.5 is Nan? 0 1.5/0 is Infinity? 1 0/0 is NaN? 1
НазадВперед
Похожие вопросы
Информатика 25.05.2019 19:16 20 Ботвинко Владислав
Лабораторная работа № 2 «Запись выражений на языке PASCAL»Решить в тетради задания. Вариант определя
Ответов: 1
Информатика 23.06.2020 10:56 9 Лысенко Полина
1. Язык программирования Pascal создал: a. Н. Вирт b. Б. Паскаль c. М. Фортран d. Правильных ответ
Ответов: 1
Информатика 15.06.2023 22:09 Серебренников Илья
Сопоставь функции Python с его назначением: Количество соединений: 4 abs () Овозвращает двоичную в
Ответов: 1
Информатика 18.02.2019 03:19 50 Николаева Диана
Имеется некоторый набор функций для работы со строками символов: СИМВОЛ(S) – функция возвращает перв
Ответов: 1
Информатика 13.05.2019 17:23 23 Неведомый Иван
Имеется некоторый набор функций для работы со строками символов: СИМВОЛ(S) – функция возвращает перв
Ответов: 1
Информатика 09.01.2019 07:39 18 Сапожников Дмитрий
Помогите!!!C# Xотя бь| половину. 1. Создать класс Laboratorna2, который содержит метод Main () 2. Со
Ответов: 1
Информатика 21.04.2020 08:43 19 Шпинь Егор
Исправьте ошибки. Найти произведение элементов массива, расположенных между максимальным по модулю и
Ответов: 1
Информатика 06.06.2023 18:34 Муравьёв Денис
Оберіть правильний запис мовою пайтон математичного виразу y = корінь всього маленького виразу 3+|x|
Ответов: 1
Информатика 16.06.2023 10:37 Сафина Динара
Помогите пожалуйста срочно какое условие следует использовать для вычисления Y по формулам: Y = |
Ответов: 1
Информатика 07.02.2021 16:13 18 Рогов Паша
РЕШИТЕ ПОЖАЛУЙСТА, 9 КЛАСС, ИНФОРМАТИКА: b)Trunc(6.9)-trunc(6.2)-1 c)Round(1.9)+round(1.2)+1 d)Tru
Ответов: 1
Видео по теме:
Вопрос-ответ:
Что такое Math abs в языке программирования?
Math abs — это функция в языках программирования, которая возвращает абсолютное значение числа. Если число положительное, то функция вернет его без изменений, если отрицательное, то вернет его положительным.
Что значит «c» в названии Math abs c?
В названии Math abs c нет никакого специального значения для буквы «c». Это просто наименование функции, которое выбрал ее разработчик.
Как использовать функцию Math abs c в программе на C++?
Чтобы использовать функцию Math abs c в программе на C++, необходимо подключить заголовочный файл cmath и вызвать функцию с нужным аргументом. Например, чтобы получить абсолютное значение переменной x, необходимо вызвать функцию abs(x).
Зачем нужна функция Math abs c в программировании?
Функция Math abs c часто используется для работы с числами в программировании. Она может пригодиться для определения расстояния между двумя точками, для проверки правильности ввода данных или при работе с математическими формулами.
Что будет, если передать в функцию Math abs c нечисловой аргумент?
Если в функцию Math abs c передать нечисловой аргумент, то программа выдаст ошибку выполнения. Например, если передать в функцию строку, то программа выдаст сообщение об ошибке «invalid argument type».
Может ли функция Math abs c изменять исходное число?
Нет, функция Math abs c не изменяет исходное число, она просто возвращает его абсолютное значение. Если вы хотите изменить исходное число, то необходимо использовать другую функцию или оператор в языке программирования.
Math abs c и обработка ошибок
Math.abs() — это встроенная функция в JavaScript, которая возвращает абсолютное значение числа.
Она принимает число и возвращает его положительную величину, независимо от того,
было оно отрицательным или положительным. Например, Math.abs(-5) вернет 5, а Math.abs(5) вернет 5.
Однако необходимо быть осторожным при использовании этой функции, особенно при оперировании с дробными числами.
Если передать в Math.abs() значение, которое не является числом, функция вернет NaN (Not a Number).
NaN — это значение, которое указывает на ошибку в вычислениях.
Для того чтобы избежать таких ошибок, следует использовать проверку данных перед вызовом Math.abs().
Для этого можно использовать функцию isNaN(), которая проверяет, является ли переданное значение NaN.
Также можно использовать преобразование типа данных к числу, чтобы убедиться, что переданное значение является числом.
Например, если нужно применить Math.abs() к переменной x, можно написать такой код:
if (!isNaN(x) && typeof x === «number») {
var absoluteValue = Math.abs(x);
}
else {
console.log(«Ошибка! x не является числом.»);
}
Особое внимание нужно уделить проверке на NaN. Если не сделать этого, то код может вернуть непредсказуемое поведение
Например, такой код вызовет ошибку:
var x = «abc»;
var absoluteValue = Math.abs(x); // NaN
Выводя итог, Math.abs() — очень полезная функция в JavaScript,
позволяющая получать абсолютное значение числа. Однако, следует быть осторожным и
проверять передаваемые значения на NaN, чтобы избежать ошибок в вычислениях.
Math abs c vs. parseInt
Функция Math.abs() и parseInt() используются в JavaScript для работы с числами. Однако, они выполняют разные задачи и имеют разную функциональность.
Метод Math.abs() используется для нахождения абсолютного значения числа. Это означает, что если число отрицательное, Math.abs() вернет его положительный эквивалент. Например:
Math.abs(-5) // вернет 5
Функция parseInt() используется для преобразования строки в целочисленное значение. Эту функцию можно использовать для извлечения чисел из строк. Например:
parseInt(«10») // вернет 10
Если в строке нет числа, то parseInt() вернет NaN (not a number). Кроме того, если в строке есть не только числа, функция обрежет строку до первого нечислового символа. Например:
parseInt(«10abc») // вернет 10
parseInt(«abc10») // вернет NaN
Таким образом, Math.abs() используется для работы с числами, а parseInt() — для работы со строками. Правильный выбор функции зависит от задачи, которую нужно решить.
Причины возникновения неоднозначности вызова abs
Функция abs() в языке программирования C++ используется для нахождения абсолютного значения числа. Однако, в некоторых случаях, вызов этой функции может быть неоднозначным, что может привести к ошибкам при компиляции или некорректным результатам выполнения программы.
Одна из причин возникновения неоднозначности вызова abs() связана с тем, что в C++ существует две перегрузки функции abs(): для целых чисел и для чисел с плавающей точкой (float и double). Компилятор может быть запутан в выборе, какую перегрузку использовать, если аргумент имеет неоднозначный тип данных.
Еще одна причина возникновения неоднозначности вызова abs() может быть связана с тем, что в C++ существуют различные пространства имен, которые могут содержать функцию abs(). Например, функция abs() может быть определена как в глобальном пространстве имен, так и в пространстве имен std. В таком случае, компилятор может быть запутан в выборе, из какого пространства имен следует использовать функцию abs().
Чтобы разрешить неоднозначность вызова abs() в C++, можно явно указать тип данных аргумента функции. Например:
- Для целых чисел:
int x = abs(static_cast(y));
- Для чисел с плавающей точкой:
float x = abs(static_cast(y));
Также можно использовать пространство имен std:: для явного указания функции abs() из стандартной библиотеки:
int x = std::abs(y);
Разрешение неоднозначности вызова abs() важно для кода, который должен быть однозначным и предсказуемым. Правильное разрешение этой неоднозначности поможет избежать ошибок и получить корректные результаты программы
Math.Abs. An absolute value is not negative.
It is the same as the original value but with no negative sign. The Math.Abs method in the .NET Framework provides a tested absolute value function. It deals with certain edge cases.
Example. It is usually trivial to convert variables to positive values from negative values. The Math.Abs method in the base class library in the .NET Framework provides some error-checking that may be useful.
Tip: The C# compiler does overload resolution based on the parameter type. It infers the appropriate method to use.
Next: This example shows the absolute value of a negative integer, a positive integer, a negative double and a positive double.
IntDouble
C# program that computes absolute values using System; class Program { static void Main() { // // Compute two absolute values. // int value1 = -1000; int value2 = 20; int abs1 = Math.Abs(value1); int abs2 = Math.Abs(value2); // // Write integral results. // Console.WriteLine(value1); Console.WriteLine(abs1); Console.WriteLine(value2); Console.WriteLine(abs2); // // Compute two double absolute values. // double value3 = -100.123; double value4 = 20.20; double abs3 = Math.Abs(value3); double abs4 = Math.Abs(value4); // // Write double results. // Console.WriteLine(value3); Console.WriteLine(abs3); Console.WriteLine(value4); Console.WriteLine(abs4); } } Output -1000 1000 (Absolute value) 20 20 (Absolute value) -100.123 100.123 (Absolute value) 20.2 20.2 (Absolute value)
The C# compiler resolves the four calls to Math.Abs to the System.Math class. It uses the version with an int in its signature for the first two calls, and the version with double for the second two.
Tip: You could cast the variables before passing them as parameters to force the compiler to use a different overload.
Numeric CastsCast to Int
The example program prints eight numbers. Each numeric literal in the source is printed in its initial form and the result of the Math.Abs computation. This means the second version is always positive in the output.
Internals. The Math.Abs method on value types such as int, short and long will use a conditional check that tests if the number if already positive. If the number is positive, it is returned unchanged.
Otherwise, an overflow condition is checked and the unary negation operator is applied, which results in a positive number. If the overflow condition is not useful, you can enhance performance by checking for positive numbers yourself.
For number types such as decimal, double and float, other implementations are called into from Math.Abs, making it a mere wrapper method. For double and float, it is important to use Math.Abs instead of checking for positive yourself.
Tip: The external method invoked is likely much faster and simpler. This is often the case in the .NET Framework.
Discussion. Methods such as Math.Abs must check for already-positive numbers before changing the sign. From the hardware perspective, it is easier to flip the sign bit on a signed integer type. You can apply the unary minus (negation) operator.
Tip: You can take the absolute value of a number that is always negative by simply using the unary negation operator.
Summary. We used Math.Abs for a simple, tested absolute value function that works for signed value types. The Math.Abs method accepts decimal, double, Int16, Int32, Int64 and float types, and all keywords that are aliased to those types.
Also: We noted the implementation of Math.Abs—and some ways you can simplify absolute values in non-general cases.
.Net
.NET
Array
Dictionary
List
String
2D
Async
DataTable
Dates
DateTime
Enum
File
For
Foreach
Format
IEnumerable
If
IndexOf
Lambda
LINQ
Parse
Path
Process
Property
Regex
Replace
Sort
Split
Static
StringBuilder
Substring
Switch
Tuple
Java
Core
Array
ArrayList
HashMap
String
2D
Cast
Character
Console
Deque
Duplicates
File
For
Format
HashSet
If
IndexOf
Lambda
Math
ParseInt
Process
Random
Regex
Replace
Sort
Split
StringBuilder
Substring
Switch
Vector
While
Related Links
AdjectivesAdoAiAndroidAngularAntonymsApacheArticlesAspAutocadAutomataAwsAzureBasicBinaryBitcoinBlockchainCCassandraChangeCoaComputerControlCppCreateCreatingC-SharpCyberDaaDataDbmsDeletionDevopsDifferenceDiscreteEs6EthicalExamplesFeaturesFirebaseFlutterFsGitGoHbaseHistoryHiveHiveqlHowHtmlIdiomsInsertionInstallingIosJavaJoomlaJsKafkaKaliLaravelLogicalMachineMatlabMatrixMongodbMysqlOneOpencvOracleOrderingOsPandasPhpPigPlPostgresqlPowershellPrepositionsProgramPythonReactRubyScalaSelectingSeleniumSentenceSeoSharepointSoftwareSpellingsSpottingSpringSqlSqliteSqoopSvnSwiftSynonymsTalendTestngTypesUmlUnityVbnetVerbalWebdriverWhatWpf
Математические константы в C++
Заголовок <cmath> в C++ также включает несколько математических констант, которые можно использовать в математическом и количественном коде.
Чтобы включить математические константы в программу, мы должны использовать директиву #define и указать макрос «_USE_MATH_DEFINES». Этот макрос нужно добавить в программу до того, как мы включим библиотеку <cmath>.
Это делается вот таким образом:
#define _USE_MATH_DEFINES #include <iostream> #include <cmath> ….C++ Code….. |
Одной из констант, которую мы часто используем при написании математических и количественных приложений, является PI. В следующей программе показано использование предопределенной константы PI в программе C++:
#define _USE_MATH_DEFINES
#include <cmath>
#include <iostream>
using namespace std;
int main() {
double area_circle, a_circle;
int radius=5;
double PI = 3.142;
//using predefined PI constant
area_circle = M_PI * radius * radius;
cout<<«Value of M_PI:»<<M_PI<<endl;
cout << «Area of circle with M_PI : «<<area_circle << endl;
//using variable PI
a_circle = PI * radius * radius;
cout<<«Value of variable PI:»<<PI<<endl;
cout << «Area of circle with PI : «<<a_circle << endl;
return 0;
}
1 |
#define _USE_MATH_DEFINES #include <cmath> using namespacestd; intmain(){ doublearea_circle,a_circle; intradius=5; doublePI=3.142; //using predefined PI constant area_circle=M_PI *radius *radius; cout<<«Value of M_PI:»<<M_PI<<endl; cout<<«Area of circle with M_PI : «<<area_circle<<endl; //using variable PI a_circle=PI *radius *radius; cout<<«Value of variable PI:»<<PI<<endl; cout<<«Area of circle with PI : «<<a_circle<<endl; return; } |
Вывод данных:
Value of M PI: 3.14 4159 Area of circle with M PI : 78.5398 Value of variable PI:3.142 Area of circle with PI : 78.55 |
Вышеприведенная программа демонстрирует математическую константу M_PI, доступную в <cmath>. Мы также предоставили локальную переменную PI, инициализированную значением 3,142. Выходные данные показывают площадь круга, вычисленную с использованием M_PI и локальной переменной PI с использованием одного и того же значения радиуса.
Хотя между двумя вычисленными значениями площади нет большой разницы, часто желательно использовать PI в качестве локально определенной переменной или константы.
Использование ABS вместе с другими функциями
Осталось только понять, можно ли совмещать ABS с другими функциями, формируя более сложные формулы, которые могут оказаться полезными при математических расчетах. Ничего не мешает вставить модуль в практически любое вычисление, но в рамках данной статьи разберемся с этим на самом простом примере.
Объявим функцию СУММ, которая вычислит сумму нескольких чисел в разных ячейках. Сделаем так, чтобы брался именно модуль каждого числа и уже после этого происходило сложение. В итоге формула будет иметь следующий вид =СУММ(ABS(A1)+ABS(A3))
Соответственно, номера ячеек замените на свои, если захотите использовать эту формулу.
Обратим внимание на то, что все выбранные числа в данной формуле являются отрицательными, поэтому и берем их модуль, чтобы сложить абсолютные величины.
В итоге получаем сложение двух положительных чисел и их соответствующую сумму.
Вот таким нехитрым образом вы можете игнорировать отрицательные числа, если нужно их перевести в положительные и тоже включить в свои расчеты. Ситуаций, когда может понадобиться функция ABS, на самом деле довольно много, с ними не разобраться в рамках одной статьи и даже не смоделировать, поскольку у каждого пользователя свои задачи, которые он должен решить в Excel.
Надеюсь, общей информации вам было достаточно для того, чтобы понять, для чего нужна функция ABS и как вы можете использовать ее в своих целях.
Топ вопросов за вчера в категории Информатика
Информатика 25.09.2023 02:01 491 Рубчинская Аполлинария
Сдать решение задачи B-Сумма двух чисел в одной строке Ограничение времени: 1 с Ограничение памяти
Ответов: 2
Информатика 02.07.2023 08:05 401 Максютова Элина
Ограничение времени: 1c Ограничение памяти: 64mb Ввод: finance.in Вывод: finance.out В этом году в
Ответов: 2
Информатика 19.06.2023 18:08 395 Третьяков Денис
Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программ
Ответов: 1
Информатика 03.07.2023 09:08 85 Смышляев Егор
Прошу дать верный ответ Сдать решение задачи 5-Автобусные остановки Полный балл: 100 Ограничение в
Ответов: 2
Информатика 17.07.2023 21:44 190 Горелов Роман
A. Быстрый старт Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или inp
Ответов: 2
Информатика 01.07.2023 02:20 162 Мирный Булат
Выполните побитовый XOR двух чисел: 48 и 156. Ответ запишите в десятичном представлении. Помогите
Ответов: 2
Информатика 18.06.2023 00:36 996 Тимчук Маша
Петя собирает для туристического кружка световое табло. Сколько лампочек ему нужно разместить на таб
Ответов: 1
Информатика 28.09.2023 22:06 136 Галушкин Даниель
Аркадий едет в офис на электросамокате. У него есть два возможных маршртута, по пути он обязательно
Ответов: 1
Информатика 03.07.2023 02:42 119 Кадуцкий Никита
100 БАЛЛОВ СРОЧНО Задача 2. Реверс Имя входного файла: стандартный ввод Имя выходного файла: станд
Ответов: 2
Информатика 02.07.2023 22:45 272 Кононова Вероника
На остановке останавливаются автобусы с разными номерами. Сообщение о том, что подошел автобус № 1
Ответов: 2
Метод __abs__() в Python
Всякий раз, когда вы вызываете для числа в Python, вы на самом деле вызываете метод . Вы даже можете попробовать сделать это вручную:
print(abs(-10)) print((-10).__abs__()) # Результат: # 10 # 10
Полученный результат говорит нам о том, что у типа где-то в коде реализации есть метод . И это действительно так.
Что еще более важно, этот тип специального метода можно добавить и в ваши пользовательские классы. Другими словами, вы можете указать, что происходит при вызове функции для пользовательского объекта, реализовав метод в определении класса
Пример
class numstr: def __init__(self, value): self.value = value def __abs__(self): absolute = self.value.replace("minus", "") return absolute
Давайте протестируем класс, задав несколько положительных и отрицательных чисел в виде строк и взяв их абсолютные значения:
v1 = numstr("minus three") v2 = numstr("ten") v3 = numstr("minus five") print(abs(v1)) print(abs(v2)) print(abs(v3))
Результат:
Метод удаляет “минус” из начала строк!
Это просто демонстрация работы специального метода . Как видите, вы можете настроить то, что происходит при вызове на объекте.
Fabs() Return Values:
The fab () function will return us a +0 value if we pass the argument with the value of either negative or positive value of 0. The fab() function will return us a +infinity value if we pass the argument with the value of either negative or positive value of infinity. The fab() function will return us a NaN value if we pass the argument with the value of either negative or positive value of NaN. Just look at this sample.
#include <iostream>#include <cmath>int main(){
std::cout << «fabs(+5.0) = » << std::fabs(+5.0) << ‘\n’
<< «fabs(-6.0) = » < std::fabs(-6.0) << ‘\n’;
std::cout << «fabs(-0.0) = » << std::fabs(-0.0) << ‘\n’
<< «fabs(-Inf) = » << std::fabs(-INFINITY) << ‘\n’
<< «fabs(-NaN) = » << std::fabs(-NAN) << ‘\n’;}
In the beginning, we write two library files which are #include<iostream> and #include<cmath>, having all the necessary functions and definitions that we need in this code. Then we call the main function here; we use standard std for the input-output standard like cout, cin, and endl statements, etc. Our system needs to know about all the statements because we did not mention the std above. With the std standard, we write two statements to display our values, and we use one cout statement to display two values. In these statements, we call out function fabs, and in the parameters of these functions, we pass the values that we want to explain. As a result, our negative values become positive, and negative infinity values become positive inf and NaN with the negative sign converted to the positive NaN.
Как найти абсолютное значение числа с десятичными дробями с помощью функции Fabs() в языке C
В этом примере мы покажем вам, как определить абсолютное значение переменной типа Float, содержащей десятичное значение. Первый шаг — создать наш «main.c». Затем мы включаем заголовки stdio.h и math.h, как показано ниже:
#включать
#включать
Затем мы создаем нашу основную функцию, которая возвращается пустой и в которой мы объявляем наши переменные. Чтобы получить абсолютное значение «x», мы сначала создадим переменную типа float и присвоим ей значение -3,1416. Мы сохраняем результат в «a», который должен быть того же типа, что и «x». Затем мы вызываем потрясающие() и передайте «x» в качестве входного аргумента и «a» в качестве выходного аргумента.
Используя функцию printf(), мы печатаем результат в командной консоли после сообщения «Абсолютное значение x равно:». Ниже приведен код для этого примера функции fabs():
#включать
#включать
пустота основной (){плавать Икс =-3.1416;плавать а; а =потрясающие( Икс );printf(«Абсолютное значение x равно: %f\n», а);
}
Чтобы скомпилировать наш код, нам нужно запустить следующую строку из командной консоли, указав путь файла «main.c» и вывода, который в данном случае дает нашему приложению имя «app_fabs1»:
~$ gcc Документыосновной.с-о app_fabs1
После того, как мы скомпилировали наш код, мы запускаем приложение следующим образом:
~$ .app_fabs1
На следующем изображении показано абсолютное значение «x» в командной консоли: