Espacios de nombres
Variantes
Acciones

std::numeric_limits::digits10

De cppreference.com
 
 
Biblioteca de servicios
 
Apoyo de tipos
Tipos básicos
Tipos fundamentales
Tipos enteros de anchura fija (C++11)
Límites numéricos
Interfaz de C de límites numéricos
Información de tipo
en tiempo de ejecución
Rasgos de tipos
Categorías de tipos
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Propiedades de tipos
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)(hasta C++20)
(C++11)(en desuso en C++20)
(C++11)
Constantes de rasgos de tipos
Metafunciones
(C++17)
Contexto de evaluación constante
Operaciones soportadas
Relaciones y consultas de propiedades
Modificaciones de tipos
(C++11)(C++11)(C++11)
Transformaciones de tipos
(C++11)
(C++11)
(C++17)
(C++11)(hasta C++20)(C++17)
 
std::numeric_limits
 
static const int digits10
(hasta C++11)
static constexpr int digits10
(desde C++11)
El valor de std::numeric_limits<T>::digits10 es el número de 10 dígitos de base que se puede representar por la T tipo sin cambios, es decir, cualquier número de dígitos decimales con este muchos se pueden convertir a un valor de T tipo y de nuevo a forma decimal, sin cambio debido al redondeo o desbordamiento. Para base-radix tipos, es el valor de digits (digits-1 para tipos de punto flotante) multiplicado por log
10
(radix)
y redondea hacia abajo .
Original:
The value of std::numeric_limits<T>::digits10 is the number of base-10 digits that can be represented by the type T without change, that is, any number with this many decimal digits can be converted to a value of type T and back to decimal form, without change due to rounding or overflow. For base-radix types, it is the value of digits (digits-1 for floating-point types) multiplied by log
10
(radix)
and rounded down.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Especializaciones estándar

T
valor de std::numeric_limits<T>::digits10
Original:
value of std::numeric_limits<T>::digits10
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
/* non-specialized */ 0
bool 0
char std::numeric_limits<char>::digits * std::log10(2)
signed char std::numeric_limits<signed char>::digits * std::log10(2)
unsigned char std::numeric_limits<unsigned char>::digits * std::log10(2)
wchar_t std::numeric_limits<wchar_t>::digits * std::log10(2)
char16_t std::numeric_limits<char16_t>::digits * std::log10(2)
char32_t std::numeric_limits<char32_t>::digits * std::log10(2)
short std::numeric_limits<short>::digits * std::log10(2)
unsigned short std::numeric_limits<signed short>::digits * std::log10(2)
int std::numeric_limits<int>::digits * std::log10(2)
unsigned int std::numeric_limits<signed int>::digits * std::log10(2)
long std::numeric_limits<long>::digits * std::log10(2)
unsigned long std::numeric_limits<unsigned long>::digits * std::log10(2)
long long std::numeric_limits<long long>::digits * std::log10(2)
unsigned long long std::numeric_limits<unsigned long long>::digits * std::log10(2)
float FLT_DIG
double DBL_DIG
long double LDBL_DIG

[editar] Ejemplo

Un tipo binario de 8-bits puede representar cualquier número decimal de dos dígitos exactamente, pero tres dígitos decimales 256 .. 999 no puede ser representada. Es el valor de digits10 para un tipo de 8-bit 2 (8 * std::log10(2) 2.41)
Original:
An 8-bit binary type can represent any two-digit decimal number exactly, but 3-digit decimal numbers 256..999 cannot be represented. The value of digits10 for an 8-bit type is 2 (8 * std::log10(2) is 2.41)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
El estándar de 32 bits IEEE 754 de punto flotante tipo tiene una parte fraccional de 24 bits (23 bits por escrito, una implícita), lo que puede sugerir que puede representar decimales 7 dígitos (24 * std::log10(2) es de 7.22) , pero los errores relativos de redondeo no son uniformes y algunos valores de punto flotante con 7 dígitos decimales no sobreviven a la conversión a 32-bit float y viceversa: el más pequeño ejemplo positivo es 8.589973e9, que se convierte 8.589974e9 después de la ida y vuelta Estos errores de redondeo no puede exceder. un poco en la representación, y se calcula como digits10 (24-1)*std::log10(2), que es 6,92. Redondeo por defecto resulta en el valor 6 .
Original:
The standard 32-bit IEEE 754 floating-point type has a 24 bit fractional part (23 bits written, one implied), which may suggest that it can represent 7 digit decimals (24 * std::log10(2) is 7.22), but relative rounding errors are non-uniform and some floating-point values with 7 decimal digits do not survive conversion to 32-bit float and back: the smallest positive example is 8.589973e9, which becomes 8.589974e9 after the roundtrip. These rounding errors cannot exceed one bit in the representation, and digits10 is calculated as (24-1)*std::log10(2), which is 6.92. Rounding down results in the value 6.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Ver también

[estático]
la raíz o base entero utilizado por la representación del tipo dado
Original:
the radix or integer base used by the representation of the given type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante miembro pública estática) [editar]
[estático]
número de dígitos radix que pueden ser representadas sin cambio
Original:
number of radix digits that can be represented without change
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante miembro pública estática) [editar]
[estático]
más que la menor potencia negativa de la base de que es un válido punto flotante normalizado valor uno
Original:
one more than the smallest negative power of the radix that is a valid normalized floating-point value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante miembro pública estática) [editar]
[estático]
mayor que la máxima potencia entera de la base de que es válida finito valor de punto flotante uno
Original:
one more than the largest integer power of the radix that is a valid finite floating-point value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante miembro pública estática) [editar]