Учись программированию на C++ Builder бесплатно!

Функция


Функция abs() возвращает модуль (неотрицательное, целое число) числа x.

Синтаксис


Для целочисленных:

#include <stdlib.h>
int abs(int x);
long abs(long x);

Для вещественных:

#include <math.h>
float abs(float x);
double abs(double x);
long double abs(long double x);

Для комплексных:

#include <complex.h>
double abs(complex x);

Прототип


stdlib.h
math.h
complex.h

Описание


При подключении файла stdlib.h функция abs() будет определяться макрокомандой, которую можно расширять до встроенного кода.
Если необходимо функцию abs() использовать вместо макрокоманды, то следует после #include <stdlib.h> добавить #undef abs().

При подключении файла math.h функция abs(), при передаче аргумента, возвращает абсолютное значение либо целого числа, либо числа с плавающей запятой.

Функция abs() принимает только один аргумент.

В C++ функция abs() перегружена в прототипах <cstdlib>, <complex> (комплексные числа), <valarray> (массив целых чисел), <cmath> (числа с плавающей точкой).

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


Функция abs() для целочисленных и вещественных чисел возвращает целое значение от 0 до 32767. Если передаваемый аргумент будет отрицательным и равным -32768, то он будет возвращен, как -32768.

Функция abs() для комплексных чисел возвращает значение типа double.

Переносимость


Функция abs() доступна в системе UNIX и определена в стандарте ANSI C.
Функция abs() для комплексных чисел требует язык программирования С++.

Примеры


#include <iostream>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <complex>

using namespace std;

int main()
{
    int number1 = -2020; // Модуль целого числа
    printf("abs(%d) = %d\n", number1, abs(number1));
    // abs(-2020) = 2020

    float number2 = -3.14; // Модуль числа с плавающей запятой
    printf("abs(%f) = %f\n", number2, abs(number2));
    // abs(-3.14) = 3.14

    complex< double > number3(5.0, 3.0); // Модуль комплексного числа
    cout << "abs(complex) = " << abs(number3) << endl;
    // abs(complex) = 5.83

    return 0;
}
Поделиться