Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

c

# What is logb in C?

Hassaan Waqar

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

The logb function is defined in the <math.h> header file in C. It takes in a single parameter x of type double. It then computes the logarithm of $|x|$ using FLT_RADIX as the base and returns the result of the double type.

FLT_RADIX has a value of 2 in most platforms. Thus, the function performs similar to log2 for positive values.

The illustration below shows how the logb function works:

How does logb work?

## Declaration

The logb function is defined as follows:

double logb(double x);


## Parameters

The logb function takes a single value of type double as a parameter.

## Return value

The logb function returns the computation of type double.

## Error handling

The logb function returns special values for certain arguments:

x Return Value
0 -INFINITY
INFINITY +INFINITY
NaN NaN

## Example

The following code snippet shows how we can use the logb function:

#include <stdio.h> // include header for printf#include <math.h>  // include header for logbint main (){  double x, result;  x = 8.0;  result = logb(x);  printf("logb (%f) = %f.\n", x, result);  return 0;}

The following code snippet shows how error handling in the logb function works:

#include <stdio.h> // include header for printf#include <math.h>  // include header for logbint main (){  double x, y, result;  x = 0.0;  result = logb(x);  printf("logb (%f) = %f.\n", x, result);  y = INFINITY;  result = logb(y);  printf("logb (%f) = %f.\n", y, result);  return 0;}

RELATED TAGS

c

CONTRIBUTOR

Hassaan Waqar 