Namespaces
Variants
Views
Actions

INFINITY

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
Exponential functions
(C99)
(C99)
(C99)
(C99)
Power functions
(C99)
(C99)
Trigonometric and hyperbolic functions
(C99)
(C99)
(C99)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Nearest integer floating point operations
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
Floating point manipulation functions
(C99)(C99)
(C99)
(C99)
Classification
(C99)
(C99)
(C99)
Types
(C99)(C99)
Macro constants
INFINITY
(C99)
(C99)
 
Defined in header <math.h>
#define INFINITY /*implementation defined*/
(since C99)

If the implementation supports floating-point infinities, the macro INFINITY expands to constant expression of type float which evaluates to positive or unsigned infinity.

If the implementation does not support floating-point infinities, the macro INFINITY expands to a positive value that is guaranteed to overflow a float at compile time, and the use of this macro generates a compiler warning.

The style used to print an infinity is implementation defined.

[edit] Example

Show style used to print an infinity and IEEE format.

#include <stdio.h>
#include <math.h>
#include <stdint.h>
#include <inttypes.h>
#include <string.h>
 
int main(void)
{
    double f = INFINITY;
    uint64_t fn; memcpy(&fn, &f, sizeof f);
    printf("INFINITY:   %f %" PRIx64 "\n", f, fn);
}

Possible output:

INFINITY:   inf 7ff0000000000000

[edit] References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12/4 INFINITY (p: 231-232)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12/4 INFINITY (p: 212-213)

[edit] See also

(C99)
checks if the given number is infinite
(function macro) [edit]
indicates value too big to be representable (infinity) by float, double and long double respectively
(macro constant) [edit]
C++ documentation for INFINITY