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++

bookTipos de Datos Numéricos

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

copy
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 ocurre porque al declarar una variable int, se asignan exactamente 4 bytes de la memoria de su PC. Y los números superiores a 2147483647 (o inferiores a -2147483648) no caben dentro de esos 4 bytes. Afortunadamente, existen otros tipos de datos disponibles que pueden asignar más (o menos) espacio según sus necesidades. Aquí está la tabla:

Por lo tanto, se puede utilizar 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). El uso de short ocupará menos espacio de memoria.

main.cpp

main.cpp

copy
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

Tener precaución al seleccionar el tipo de dato. Si se excede el rango de un tipo, el compilador de C++ no notificará, y se puede recibir un valor inesperado sin ninguna indicación de error.

Números de punto flotante

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

main.cpp

main.cpp

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

Aquí tienes un ejemplo de cómo usar double para almacenar 1.6.

main.cpp

main.cpp

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; }
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 preferible utilizar double por defecto, a menos que esté seguro de que la precisión de float es suficiente.

Obviamente, se puede utilizar 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?

Select the correct answer

¿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

Suggested prompts:

Can you explain the difference between float and double in more detail?

When should I use short, int, or long for whole numbers?

Are there any other numeric data types I should know about?

Awesome!

Completion rate improved to 3.85

bookTipos 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

copy
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 ocurre porque al declarar una variable int, se asignan exactamente 4 bytes de la memoria de su PC. Y los números superiores a 2147483647 (o inferiores a -2147483648) no caben dentro de esos 4 bytes. Afortunadamente, existen otros tipos de datos disponibles que pueden asignar más (o menos) espacio según sus necesidades. Aquí está la tabla:

Por lo tanto, se puede utilizar 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). El uso de short ocupará menos espacio de memoria.

main.cpp

main.cpp

copy
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

Tener precaución al seleccionar el tipo de dato. Si se excede el rango de un tipo, el compilador de C++ no notificará, y se puede recibir un valor inesperado sin ninguna indicación de error.

Números de punto flotante

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

main.cpp

main.cpp

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

Aquí tienes un ejemplo de cómo usar double para almacenar 1.6.

main.cpp

main.cpp

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; }
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 preferible utilizar double por defecto, a menos que esté seguro de que la precisión de float es suficiente.

Obviamente, se puede utilizar 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?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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