6.11.119 log2f Function
Calculates the base-2 logarithm of a single-precision floating-point value.
Include
<math.h>
Prototype
float log2f(float x);
Argument
x
- any single-precision floating-point positive number
Return Value
Returns the base-2 logarithm of x
. If x
is
+/-0, -infinity is returned. If x
is a negative number, NaN is returned
.
Remarks
If x
is less than 0, a domain error will occur and
errno
will be set to EDOM
.
Example
See the notes at the beginning of this chapter or section for
information on using printf()
or scanf()
(and other functions reading and writing the stdin
or
stdout
streams) in the example code.
#include <math.h>
#include <stdio.h>
#include <errno.h>
int main(void)
{
float x, y;
errno = 0;
x = 2.0;
y = log2f(x);
if(errno)
perror("Error");
printf("The base-2 logarithm of %f is %f\n", x, y);
errno = 0;
x = 0.0;
y = log2f(x);
if(errno)
perror("Error");
printf("The base-2 logarithm of %f is %f\n", x, y);
errno = 0;
x = -2.0;
y = log2f(x);
if(errno)
perror("Error");
printf("The base-2 logarithm of %f is %f\n", x, y);
}
Example Output
The base-2 logarithm of 2.000000 is 1.000000
The base-2 logarithm of 0.000000 is -inf
Error: domain error
The base-2 logarithm of -2.000000 is nan