[ Web Proxy ]
URL:
Viewing: https://cppreference.com/cpp/types/numeric_limits/radix [Back]  [Original]

std::numeric_limits<T>::radix - cppreference.com
cppreference.com
Namespaces
Variants

std::numeric_limits<T>::radix

From cppreference.com
 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)    
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
 
static const int radix;
(until C++11)
static constexpr int radix;
(since C++11)

The value of std::numeric_limits<T>::radix is the base of the number system used in the representation of the type. It is 2 for all binary numeric types, but it may be, for example, 10 for IEEE 754 decimal floating-point types or for third-party binary-coded decimal integers. This constant is meaningful for all specializations.

Standard specializations

T value of std::numeric_limits<T>::radix
/* non-specialized */ 0
bool 2
char 2
signed char 2
unsigned char 2
wchar_t 2
char8_t (since C++20) 2
char16_t (since C++11) 2
char32_t (since C++11) 2
short 2
unsigned short 2
int 2
unsigned int 2
long 2
unsigned long 2
long long (since C++11) 2
unsigned long long (since C++11) 2
float FLT_RADIX
double FLT_RADIX
long double FLT_RADIX

Example

#include <cfloat>
#include <limits>
#include <ratio>

template <int Radix, typename... Types>
constexpr bool radix = ((std::numeric_limits<Types>::radix == Radix) and ...);

static_assert
(
    radix <0, std::exa> and
    radix <2,
        bool, char, signed char, unsigned char, wchar_t, char8_t, char16_t, char32_t,
        short, unsigned short, int, unsigned int, long, unsigned long, long long,
        unsigned long long> and
    radix <FLT_RADIX, float, double, long double>
);

int main() {}

See also

[static]
number of radix digits that can be represented without change
(public static member constant) [edit]
one more than the smallest negative power of the radix that is a valid normalized floating-point value
(public static member constant) [edit]
one more than the largest integer power of the radix that is a valid finite floating-point value
(public static member constant) [edit]

Web Proxy Viewer  |  New URL  |  Original Page