Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   *Теория* | Вопросы по синтаксису языка Си. Знак модуля. (http://forum.oszone.net/showthread.php?t=54842)

Hemp 07-10-2005 08:39 362249

*Теория* | Вопросы по синтаксису языка Си. Знак модуля.
 
Два вопроса:
1. Как на Си показать, что в уравнении присутствует модуль, например, вот в таком, y=|a-b|?
2. Как на Си возвести число в степень, допустим в квадрат y=a^2 (конечно можно a*a)?

aESThete 07-10-2005 09:01 362253

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

Hemp 17-10-2005 10:53 364883

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

Envel 17-10-2005 23:27 365123

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

pva 31-10-2005 12:43 369148

поправка: 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 369153

в C++ есть класс numeric_limits, у которого есть вся информация о числах, например:
Код:

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

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


Время: 06:52.

Время: 06:52.
© OSzone.net 2001-