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

Tipos de Datos Numéricos

Desliza para mostrar el menú

Números enteros

Los tipos de datos enteros son los más utilizados para números enteros. El tipo de dato int puede almacenar valores dentro del rango de -2,147,483,648 a 2,147,483,647.

main.cpp

main.cpp

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

Esto sucede 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 dentro de esos 4 bytes. Por suerte, existen otros tipos de datos disponibles que pueden asignar más (o menos) espacio según tus necesidades. Aquí está la tabla:

Por lo tanto, se puede usar long para almacenar números grandes (por ejemplo, la población mundial). También se puede usar short si se tiene la certeza de que el número no excederá el rango de -32,768 a 32,767 (por ejemplo, para almacenar la edad de un usuario). Usar short ocupará menos espacio de memoria.

main.cpp

main.cpp

12345678910111213
#include <iostream> int main() { short age = 22; // for small numbers int likes = 143200; // for larger numbers long population = 8200000000; // for very large numbers // Display the values std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Note
Nota

Ten cuidado con el tipo de dato que selecciones. Si se excede el rango de un tipo, el compilador de C++ no te notificará, y podrías recibir un valor inesperado sin ninguna indicación de error.

Números de punto flotante

Los tipos de datos anteriores están diseñados para almacenar números enteros. Si intentamos asignar 1.6 a uno de ellos, esto es lo que obtendríamos:

main.cpp

main.cpp

12345678
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }

El tipo int trunca la parte decimal de un número. Este comportamiento es igual para los tipos short y long. Para almacenar números de punto flotante (decimales), se debe utilizar el tipo de dato float o double.

Ejemplo de uso de double para almacenar 1.6.

main.cpp

main.cpp

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; }
Note
Nota

Dado que el tipo float solo tiene una precisión de siete dígitos, el número 123.456789 ya está fuera de su rango. Esto puede llevar a resultados inexactos (como se muestra en el ejemplo a continuación). Por lo tanto, es mejor usar double por defecto a menos que se esté seguro de que la precisión de float es suficiente.

Obviamente, se puede usar float o double para almacenar números enteros, ya que estos son números decimales con una parte decimal igual a 0. Sin embargo, como buena práctica, si una variable almacena valores que solo pueden ser números enteros (por ejemplo, población o cantidad de "me gusta"), se debe utilizar short/int/long.

question mark

¿Qué sucede si intentas asignar un número mayor que 2,147,483,647 a una variable de tipo int?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

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