Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Numeric limits for 32-bit platform

These tables were generated using the following program and options:

Program:
 numeric_limits_qbk.cpp
Mon Nov  4 18:09:06 2013
BuildInfo:
  Platform Win32
  Compiler Microsoft Visual C++ version 10.0
  MSVC version 160040219.
  STL Dinkumware standard library version 520
  Boost version 1.55.0

Table 1.4. Integer types constants (std::numeric_limits<T>::is_integer == true && is_exact == true)

type

signed

bound

modulo

round

radix

digits

digits10

bool

unsigned

bound

no

to zero

2

1

0

char

signed

bound

modulo

to zero

2

7

2

unsigned char

unsigned

bound

modulo

to zero

2

8

2

char16_t

unsigned

bound

modulo

to zero

2

16

4

char32_t

unsigned

bound

modulo

to zero

2

32

9

short

signed

bound

modulo

to zero

2

15

4

unsigned short

unsigned

bound

modulo

to zero

2

16

4

int

signed

bound

modulo

to zero

2

31

9

unsigned

unsigned

bound

modulo

to zero

2

32

9

long

signed

bound

modulo

to zero

2

31

9

unsigned long

unsigned

bound

modulo

to zero

2

32

9

long long

signed

bound

modulo

to zero

2

63

18

unsigned long long

unsigned

bound

modulo

to zero

2

64

19

int32_t

signed

bound

modulo

to zero

2

31

9

uint32_t

unsigned

bound

modulo

to zero

2

32

9

int64_t

signed

bound

modulo

to zero

2

63

18

uint64_t

unsigned

bound

modulo

to zero

2

64

19

int128_t

signed

bound

modulo

to zero

2

128

38

uint128_t

unsigned

bound

modulo

to zero

2

128

38

int256_t

signed

bound

modulo

to zero

2

256

77

uint256_t

unsigned

bound

modulo

to zero

2

256

77

cpp_int

signed

unbounded

no

to zero

2

2147483647

646392383


Table 1.5. Integer types functions (std::numeric_limits<T>::is_integer == true && std::numeric_limits<T>::min() == std::numeric_limits<T>::lowest() )

function

max

min

bool

1

0

char

127

-128

unsigned char

255

0

char16_t

65535

0

char32_t

4294967295

0

short

32767

-32768

unsigned short

65535

0

int

2147483647

-2147483648

unsigned int

4294967295

0

long

2147483647

-2147483648

unsigned long

4294967295

0

long long

9223372036854775807

-9223372036854775808

unsigned long long

18446744073709551615

0

int32_t

2147483647

-2147483648

int64_t

9223372036854775807

-9223372036854775808

int128_t

340282366920938463463374607431768211455

-340282366920938463463374607431768211455


Table 1.6. Floating-point types constants (std::numeric_limits<T>::is_integer==false && is_signed==true && is_modulo==false && is_exact==false && is_bound==true)

type

round

radix

digits

digits10

max_digits10

min_exp

min_exp10

max_exp

max_exp10

tiny

trap

float

to nearest

2

24

6

8

-125

-37

128

38

tiny

traps

double

to nearest

2

53

15

17

-1021

-307

1024

308

tiny

traps

long double

to nearest

2

53

15

17

-1021

-307

1024

308

tiny

traps

cpp_dec_float_50

indeterminate

10

50

50

80

-222953000

-67108864

222953000

67108864

no

no

bin_128bit_double_type

to nearest

2

377

113

115

-2147482894

-646392082

2147482893

646392082

no

traps


Table 1.7. Floating-point types functions (std::numeric_limits<T>::is_integer == false)

function

float

double

long double

cpp_dec_50

cpp_bin_128

max

3.40282e+038

1.79769e+308

1.79769e+308

1e+67108865

1.85906e+646456766

min

1.17549e-038

2.22507e-308

2.22507e-308

1e-67108864

5.37906e-646456767

epsilon

1.19209e-007

2.22045e-016

2.22045e-016

1e-49

6.49713e-114

round_error

0.5

0.5

0.5

0.5

0.5

infinity

1.#INF

1.#INF

1.#INF

inf

inf

quiet_NaN

1.#QNAN

1.#QNAN

1.#QNAN

nan

nan

signaling_NaN

1.#QNAN

1.#QNAN

1.#QNAN

0

0

denorm_min

1.4013e-045

4.94066e-324

4.94066e-324

0

0



PrevUpHomeNext