#include <math.h> float log2f(float num); double log2(double num); long double log2l(long double num);
Функции log2(), log2f() и log2l() добавлены в версии С99.
Каждая функция семейства log2() возвращает значение логарифма по основанию 2 от аргумента num. Если значение аргумента num отрицательно, возникает ошибка из-за выхода за пределы области допустимых значений (ошибка из-за нарушения области определения). Если же значение num равно нулю, возможна ошибка из-за выхода за пределы диапазона представимых значений[1].
[1]Как известно, в нуле логарифм не определен, но из-за трудностей представления близких к нулю положительных чисел автор придерживается столь осторожных формулировок.