[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Математические функции
Программисту предоставлено много функций для выполнения математических
операций.
Функции, описанные на страницах Руководства, помеченных 3M, содержатся
в библиотеке /usr/ccs/lib/libm.a и программа, использующая их, должна
компилироваться с ключом -lm:
cc prog.c -lm
Файл <math.h> содержит объявления функций 3M и соответствующих
макроопределений и констант. Файл <stdlib.h> содержит объявления для
математических функций, документированных в 3C.
Замечание: Функции 3C и 3S содержатся в стандартных библиотеках.
Некоторые замечания по поводу этих функций:
1. Семейство ecvt(3C) преобразует числа с плавающей точкой в
строки. Они, в частности, используются функцией printf(3S).
2. log вычисляет натуральный логарифм. log10 возвращает десятичный
логарифм.
3. Для использования rand и drand48 необходимо вызвать
соответствующую инициализационную функцию (srand или srand48).
rand возвращает целое число от 0 до 32767. drand48 возвращает
число с плавающей точкой двойной точности, равномерно
распределенное в интервале [0.0, 1.0], т.е. дробь, меньшую или
равную единице.
4. Функция fmod осуществляет операцию взятия остатка от деления
действительных чисел, так же как '%' берет остаток от деления
целых чисел.
abs(3C) labs()
ecvt(3C) fcvt() gcvt()
exp(3M) log() log10() pow() sqrt() ...
rand(3C) srand()
drand48(3C) ... srand48() ...
floor(3M) ceil() fmod() fabs() ...
TRIG(3M)
sin() cos() tan()
asin() acos() atan() atan2()
sinh(3M) cosh() tanh() ...
BESSEL(3M)
j0() j1() jn() ...
gamma(3M)
gamma() lgamma()