Contenido del Curso
Introducción a C++
Introducción a C++
Tipos de Datos Numéricos
Números enteros
Los tipos de datos enteros son los más utilizados para los números enteros. El tipo de datos int
puede contener valores dentro del rango de -2.147.483.648 a 2.147.483.647.
main
Esto ocurre porque cuando declaras una variable int
, se asignan exactamente 4 bytes de la memoria de tu PC. Y los números superiores a 2147483647(o inferiores a -2147483648) no caben en esos 4 bytes. Por suerte, otros tipos de datos disponibles pueden asignarte más(o menos) espacio para tus necesidades. Aquí tienes la tabla:
Tipo de Dato | Tamaño | |
short | 2 bytes | |
int | 4 bytes | |
long | 8 bytes |
Por tanto, puedes utilizar long
para almacenar números grandes (por ejemplo, la población mundial). También puedes usar short
si estás seguro de que tu número no excederá el rango de -32.768 a 32.767 (por ejemplo, almacenar la edad de un usuario). Utilizar short
ocupará menos espacio.
main
Nota
Ten cuidado con el tipo de datos que eliges. Si el rango de un tipo es excedido, el compilador de C++ no te lo dirá, y obtendrás un valor inesperado sin saber que algo va mal.
Números en coma flotante
Los tipos de datos anteriores están diseñados para almacenar números enteros. Si intentáramos asignar 1.6
a uno de ellos, esto es lo que obtendríamos:
main
El tipo int
ignora la parte decimal de un número. Lo mismo ocurre con short
o long
. Para almacenar los números de coma flotante (decimales), debemos utilizar el tipo de datos float
o double
.
Tipo de Dato | Precisión | Tamaño |
float | 7 decimal digits | 4 bytes |
double | 15 decimal digits | 8 bytes |
Este es un ejemplo de uso de double
para almacenar 1.6
.
main
Nota
Dado que el tipo
float
sólo tiene una precisión de 7 dígitos, el número123.456789
ya está fuera de su rango. Puede dar lugar a resultados inexactos (como se muestra en el ejemplo siguiente). Así que es mejor usardouble
por defecto a menos que estés seguro de que la precisión defloat
es suficiente.
main
Obviamente, puede utilizar float
o double
para almacenar números enteros, ya que son números decimales con una parte decimal igual a 0. Sin embargo, como buena práctica, si una variable almacena valores que sólo pueden ser números enteros (por ejemplo, población o gustos), se debe utilizar short
/int
/long
.
main
¿Todo estuvo claro?