Форум программистов, компьютерный форум CyberForum.ru

Функция fabs! - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 58, средняя оценка - 4.88
MaevskiyOff
 Аватар для MaevskiyOff
8 / 8 / 1
Регистрация: 23.03.2013
Сообщений: 14
03.04.2013, 09:41     Функция fabs! #1
Здравствуйте, объясните пожалуйста, как можно проще, что из себя представляет ф-ция fabs! Если можно, то с элементарными примерами (желательно в цикле)!
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12077 / 6938 / 782
Регистрация: 27.09.2012
Сообщений: 17,197
Записей в блоге: 2
Завершенные тесты: 1
03.04.2013, 09:50     Функция fabs! #2
Модуль числа:
C++
1
2
3
4
5
6
7
8
#include <iostream> 
#include <cmath>
 
int main(){
    float x=-2.32;
    std::cout<<x<<std::endl;
    std::cout<<fabs(x)<<std::endl;
}
lemegeton
 Аватар для lemegeton
2913 / 1342 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
03.04.2013, 09:52     Функция fabs! #3
fabs возвращает абсолютное значение, так же известное как модуль, переданного параметра.
Значение и параметр могут быть double, float и long double.
Подключаемый модуль cmath в современном С++, math.h в С и старых версиях С++.

Пример.
C++
1
2
double x = fabs(-23.1);
std::cout << x << std::endl;
Цитата Сообщение от MaevskiyOff Посмотреть сообщение
желательно в цикле
А если не юлить, что нужно?
MaevskiyOff
 Аватар для MaevskiyOff
8 / 8 / 1
Регистрация: 23.03.2013
Сообщений: 14
03.04.2013, 15:04  [ТС]     Функция fabs! #4
В этот раз, без подтекста...Все началось с вот этой строки:

if (fabs(a-b) < 1e-6) cout << "равны"; else cout << "не равны"

но оказалось, разбираться надо не с fabs, а с малыми числами типо "e"!
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
03.04.2013, 15:16     Функция fabs! #5
fabs - модуль числа. 1e-6 это то же самое, что и 10^-6 (десть в минус 6) 1e18 10^18 (десять в 18 степени).
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.04.2013, 15:27     Функция fabs! #6
e - вообще не число, а специальный програмерский иероглиф "умножить на 10 в степени".
ru_LAN
11 / 11 / 0
Регистрация: 13.11.2011
Сообщений: 266
03.04.2013, 18:30     Функция fabs! #7
|a-b|<1*10^(-6)

Добавлено через 2 минуты
C++
1
if (fabs(a-b) < 1e-6)
все равно что
C++
1
if (abs(a-b) < 1e-6)
как выше упомянули разница только в типах.
Тайлер
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 4
03.04.2013, 19:20     Функция fabs! #8
abs это функция чисто для C++,а fabs это и для C!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2013, 19:28     Функция fabs!
Еще ссылки по теме:

C++ Тип выводимых данных. abs() и fabs()
Функция удаления текста в скобках [2], непосредственно функция + 12кб вложений C++
Перегрузка операций: friend-функция или функция-член класса C++
Функция sqrt: существует более одного экземпляра. Функция перегруженная C++
C++ Использование функции fabs

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.04.2013, 19:28     Функция fabs! #9
Цитата Сообщение от ru_LAN Посмотреть сообщение
как выше упомянули разница только в типах.
да ну? При
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
small int (small int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
short int (short int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
int (int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long int (long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long long int (long long int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
hyper int (hyper int x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
float int (float x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
extended int (extended x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
double (double x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
long double (long double x)
{
 if (x<0)
 {
  return -x;
 }
 return x;
}
abs будет работать с теми же типами, что и fabs.
Yandex
Объявления
03.04.2013, 19:28     Функция fabs!
Ответ Создать тему
Опции темы

Текущее время: 16:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru