Gama de tipos numéricos en c ++

Puede parecer extraño, pero el estándar C ++ no decir exactamente lo grande que un número cada uno de los tipos de datos puede acomodar. La norma se refiere únicamente a la dimensión relativa de cada tipo de datos. Por ejemplo, se dice que el máximo long int es al menos tan grande como el máximo int.

Los autores de C ++ no estaban tratando de ser misterioso. Simplemente querían permitir que el compilador para implementar el código de más rápido absoluta posible que la máquina base. El estándar fue diseñado para trabajar para todos los diferentes tipos de procesadores que ejecutan diferentes sistemas operativos.

Sin embargo, es útil conocer los límites para su aplicación en particular. La tabla muestra el tamaño de cada tipo de número en un PC con Windows utilizando el / compilador gcc Code :: Blocks.

Gama de tipos numéricos en código :: Bloquear / gcc
VariableTamaño (bytes)ExactitudRango
corto2exacto-32768 a 32767
int4exacto2147483648 a 2147483647
largo4exacto-2147483648 a 2147483647
long long int8exacto-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
flotador47 dígitos± 3.4028 x 10 ±38
largo816 dígitos± 1.7977 x 10 ±308
long double1219 dígitos± 1.1897 x 10 ±4932

El intento de calcular un número que está más allá del alcance de su tipo que se conoce como un desbordamiento. El estándar de C ++ generalmente sale de los resultados de un desbordamiento como indefinido. Esa es otra forma en que los definidores de C ++ se mantuvo flexible.

En el PC, una coma flotante de desbordamiento de los resultados en una excepción, que si no se manejan hará que su programa se bloquee. Tan malo como suena, un desbordamiento de enteros es peor - C ++ en silencio genera un valor incorrecto sin quejarse.




» » » » Gama de tipos numéricos en c ++