reales - ¿C++ 11 es largo realmente al menos 64 bits?
libro de android studio en español pdf (1)
El estándar C ++ hace referencia al estándar C para esto, ver [c.limits]. LLONG_MAX
se define en <climits>
con el mismo significado que C''s <limits.h>
''s LLONG_MAX
. Y esto es lo que C tiene que decir:
5.2.4.2.1 Tamaños de tipos enteros
<limits.h>
Los valores que figuran a continuación se sustituirán por expresiones constantes adecuadas para su uso en las directivas
#if
preprocesamiento. [...] Sus valores definidos por la implementación serán iguales o mayores en magnitud (valor absoluto) a los mostrados, con el mismo signo.[...]
- valor máximo para un objeto de tipo
long long int
LLONG_MAX +9223372036854775807 //
2 63 -1
Un tipo firmado que debe ser capaz de representar el valor 9223372036854775807
requiere 64 bits o más.
Dice here y here que el tipo long long
es al menos tan largo como int
y tiene no menos de 64 bits . He estado buscando en la sección C ++ 11 estándar §3.9.1 Tipos fundamentales y no puedo encontrar ninguna referencia a 64 bits. Todo lo que puedo encontrar es que es al menos tan largo en long int
, que es al menos tan largo como int
. El estándar enumera long long
como un tipo entero estándar , a diferencia de uno extendido , así que me pregunto si esta afirmación de que por long long
contiene al menos 64 bits es verdadera. Y si lo es, ¿dónde está indicado? Tenga en cuenta que estoy hablando de C ++ 11 estándar de long long
solamente.