---
name: "std::__numeric_limits_base"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::__numeric_limits_base/3cxx"
---

# std::\_\_numeric\_limits\_base(3cxx)

Part of std::numeric\_limits.

## NAME

std::\_\_numeric\_limits\_base - Part of std::numeric\_limits.

## SYNOPSIS

`#include <limits>`

Inherited by **std::numeric\_limits\< \_Tp \>**.

### Static Public Attributes

**static** constexpr int **digits**\
 **static** constexpr int **digits10**\
 **static** constexpr **float\_denorm\_style** **has\_denorm**\
 **static** constexpr bool **has\_denorm\_loss**\
 **static** constexpr bool **has\_infinity**\
 **static** constexpr bool **has\_quiet\_NaN**\
 **static** constexpr bool **has\_signaling\_NaN**\
 **static** constexpr bool **is\_bounded**\
 **static** constexpr bool **is\_exact**\
 **static** constexpr bool **is\_iec559**\
 **static** constexpr bool **is\_integer**\
 **static** constexpr bool **is\_modulo**\
 **static** constexpr bool **is\_signed**\
 **static** constexpr bool **is\_specialized**\
 **static** constexpr int **max\_digits10**\
 **static** constexpr int **max\_exponent**\
 **static** constexpr int **max\_exponent10**\
 **static** constexpr int **min\_exponent**\
 **static** constexpr int **min\_exponent10**\
 **static** constexpr int **radix**\
 **static** constexpr **float\_round\_style** **round\_style**\
 **static** constexpr bool **tinyness\_before**\
 **static** constexpr bool **traps**\

## Detailed Description

Part of std::numeric\_limits.

The `static` `const` members are usable as integral constant expressions.

**Note**

This is a separate class for purposes of efficiency; you should only access these members as part of an instantiation of the std::numeric\_limits class.

## Member Data Documentation

### constexpr int std::\_\_numeric\_limits\_base::digits` [static]`, ` [constexpr]`

The number of `radix` digits that be represented without change: for integer types, the number of non-sign bits in the mantissa; for floating types, the number of `radix` digits in the mantissa. \

### constexpr int std::\_\_numeric\_limits\_base::digits10` [static]`, ` [constexpr]`

The number of base 10 digits that can be represented without change.

### constexpr float\_denorm\_style std::\_\_numeric\_limits\_base::has\_denorm` [static]`, ` [constexpr]`

See std::float\_denorm\_style for more information. \

### constexpr bool std::\_\_numeric\_limits\_base::has\_denorm\_loss` [static]`, ` [constexpr]`

True if loss of accuracy is detected as a denormalization loss, rather than as an inexact result.

### constexpr bool std::\_\_numeric\_limits\_base::has\_infinity` [static]`, ` [constexpr]`

True if the type has a representation for positive infinity. \

### constexpr bool std::\_\_numeric\_limits\_base::has\_quiet\_NaN` [static]`, ` [constexpr]`

True if the type has a representation for a quiet (non-signaling) Not a Number. \

### constexpr bool std::\_\_numeric\_limits\_base::has\_signaling\_NaN` [static]`, ` [constexpr]`

True if the type has a representation for a signaling Not a Number. \

### constexpr bool std::\_\_numeric\_limits\_base::is\_bounded` [static]`, ` [constexpr]`

True if the set of values representable by the type is finite. All built-in types are bounded, this member would be false for arbitrary precision types.

### constexpr bool std::\_\_numeric\_limits\_base::is\_exact` [static]`, ` [constexpr]`

True if the type uses an exact representation. All integer types are exact, but not all exact types are integer. For example, rational and fixed-exponent representations are exact but not integer.

### constexpr bool std::\_\_numeric\_limits\_base::is\_iec559` [static]`, ` [constexpr]`

True if-and-only-if the type adheres to the IEC 559 standard, also known as IEEE 754. (Only makes sense for floating point types.) \

### constexpr bool std::\_\_numeric\_limits\_base::is\_integer` [static]`, ` [constexpr]`

True if the type is integer. \

### constexpr bool std::\_\_numeric\_limits\_base::is\_modulo` [static]`, ` [constexpr]`

True if the type is *modulo*. A type is modulo if, for any operation involving +, -, or \* on values of that type whose result would fall outside the range \[min(),max()\], the value returned differs from the true value by an integer multiple of max() - min() + 1. On most machines, this is false for floating types, true for unsigned integers, and true for signed integers. See PR22200 about signed integers. \

### constexpr bool std::\_\_numeric\_limits\_base::is\_signed` [static]`, ` [constexpr]`

True if the type is signed. \

### constexpr bool std::\_\_numeric\_limits\_base::is\_specialized` [static]`, ` [constexpr]`

This will be true for all fundamental types (which have specializations), and false for everything else. \

### constexpr int std::\_\_numeric\_limits\_base::max\_digits10` [static]`, ` [constexpr]`

The number of base 10 digits required to ensure that values which differ are always differentiated. \

### constexpr int std::\_\_numeric\_limits\_base::max\_exponent` [static]`, ` [constexpr]`

The maximum positive integer such that `radix` raised to the power of (one less than that integer) is a representable finite floating point number. \

### constexpr int std::\_\_numeric\_limits\_base::max\_exponent10` [static]`, ` [constexpr]`

The maximum positive integer such that 10 raised to that power is in the range of representable finite floating point numbers. \

### constexpr int std::\_\_numeric\_limits\_base::min\_exponent` [static]`, ` [constexpr]`

The minimum negative integer such that `radix` raised to the power of (one less than that integer) is a normalized floating point number. \

### constexpr int std::\_\_numeric\_limits\_base::min\_exponent10` [static]`, ` [constexpr]`

The minimum negative integer such that 10 raised to that power is in the range of normalized floating point numbers. \

### constexpr int std::\_\_numeric\_limits\_base::radix` [static]`, ` [constexpr]`

For integer types, specifies the base of the representation. For floating types, specifies the base of the exponent representation. \

### constexpr float\_round\_style std::\_\_numeric\_limits\_base::round\_style` [static]`, ` [constexpr]`

See std::float\_round\_style for more information. This is only meaningful for floating types; integer types will all be round\_toward\_zero. \

### constexpr bool std::\_\_numeric\_limits\_base::tinyness\_before` [static]`, ` [constexpr]`

True if tininess is detected before rounding. (see IEC 559) \

### constexpr bool std::\_\_numeric\_limits\_base::traps` [static]`, ` [constexpr]`

True if trapping is implemented for this type. \

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
