Войти

Показать полную графическую версию : *Теория* | Вопросы по синтаксису языка Си. Знак модуля.


Hemp
07-10-2005, 08:39
Два вопроса:
1. Как на Си показать, что в уравнении присутствует модуль, например, вот в таком, y=|a-b|?
2. Как на Си возвести число в степень, допустим в квадрат y=a^2 (конечно можно a*a)?

aESThete
07-10-2005, 09:01
для Turbo C:
1. функция abs() ( b.e. y=abs(a-b) )
2. функция pow() ( b.e. y=pow(a, 2) ), также можно через логарифмы

Hemp
17-10-2005, 10:53
Ещё, один вопрос:
Как, на Си, показать (есть стандартная функция, либо, как это реализовать), что, допустим переменная x = - бесконечности?

Envel
17-10-2005, 23:27
Если у тебя X - вещественное (double, float, long double), то по идее есть определенные макросы INF в math.h, они не равны бесконечности, но максимальному числу для данного типа.

pva
31-10-2005, 12:43
поправка: abs(int), fabs(double), то есть

double x = abs(-0.1);
printf("%ld",x);
// выдаст 0.0

Лучше пишите на C++. Там это исправили: std::abs(int), sta::abs(double), tamplate<class T> std::abs(const complex<T>&)

using namespace std;
double x = abs(-0.1);
cout << x;
// выдаст 0.1

pva
31-10-2005, 12:47
в C++ есть класс numeric_limits, у которого есть вся информация о числах, например:

numeric_limits<double>::max();
numeric_limits<double>::nan();
numeric_limits<double>::inf();

единственое, чего не хватает, это информации о порядке байтов у процессора и операции bswap




© OSzone.net 2001-2012