Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Tipos de Datos Numéricos | Variables y Tipos de Datos
Introducción a C++
course content

Contenido del Curso

Introducción a C++

Introducción a C++

1. Para Comenzar
2. Variables y Tipos de Datos
3. Introducción a los Operadores
4. Introducción al Flujo de Programas
5. Introducción a las Funciones

bookTipos 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.

cpp

main

copy
12345678910
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing tooLarge: " << tooLarge << std::endl; std::cout << "Printing goodNumber: " << goodNumber << std::endl; }

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
Rango
Tamaño
short
-32,768 to 32,767
2 bytes
int
-2,147,483,648 to 2,147,483,647
4 bytes
long
-9223372036854775808 to 9223372036854775807
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.

cpp

main

copy
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 7900000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

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:

cpp

main

copy
1234567
#include <iostream> int main() { int num = 1.6; std::cout << num << std::endl; }

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 DatoPrecisiónTamaño
float7 decimal digits4 bytes
double15 decimal digits8 bytes

Este es un ejemplo de uso de double para almacenar 1.6.

cpp

main

copy
1234567
#include <iostream> int main() { double num = 1.6; std::cout << num << std::endl; }

Nota

Dado que el tipo float sólo tiene una precisión de 7 dígitos, el número 123.456789 ya está fuera de su rango. Puede dar lugar a resultados inexactos (como se muestra en el ejemplo siguiente). Así que es mejor usar double por defecto a menos que estés seguro de que la precisión de float es suficiente.

cpp

main

copy
12345678910
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }

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.

cpp

main

copy
1234567
#include <iostream> int main() { float price = 100; std::cout << "Price is: " << price << std::endl;; }
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
some-alt