static T infinity() throw(); | (until C++11) | |

static constexpr T infinity() noexcept; | (since C++11) |

Returns the special value "positive infinity", as represented by the floating-point type `T`

. Only meaningful if `std::numeric_limits<T>::has_infinity == true`

. In IEEE 754, the most common binary representation of floating-point numbers, the positive infinity is the value with all bits of the exponent set and all bits of the fraction cleared.

`T` | `std::numeric_limits<T>::infinity()` |
---|---|

/* non-specialized */ | `T()` |

`bool` | `false` |

`char` | `0` |

`signed char` | `0` |

`unsigned char` | `0` |

`wchar_t` | `0` |

`char8_t` | `0` |

`char16_t` | `0` |

`char32_t` | `0` |

`short` | `0` |

`unsigned short` | `0` |

`int` | `0` |

`unsigned int` | `0` |

`long` | `0` |

`unsigned long` | `0` |

`long long` | `0` |

`unsigned long long` | `0` |

`float` | `HUGE_VALF` |

`double` | `HUGE_VAL` |

`long double` | `HUGE_VALL` |

#include <iostream> #include <limits> int main() { double max = std::numeric_limits<double>::max(); double inf = std::numeric_limits<double>::infinity(); if(inf > max) std::cout << inf << " is greater than " << max << '\n'; }

Output:

inf is greater than 1.79769e+308

[static] | identifies floating-point types that can represent the special value "positive infinity" (public static member constant) |

© cppreference.com

Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.

http://en.cppreference.com/w/cpp/types/numeric_limits/infinity