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:

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 lo tanto, se puede utilizar long para almacenar números grandes (por ejemplo, la población mundial). También se puede utilizar 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
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

Nota

Prestar atención al tipo de dato seleccionado. 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.

Tipo de dato
Precisión
Tamaño
float
7 dígitos decimales
4 bytes
double
15 dígitos decimales
8 bytes

Aquí hay un ejemplo de uso de 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; }

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.

¿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

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:

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 lo tanto, se puede utilizar long para almacenar números grandes (por ejemplo, la población mundial). También se puede utilizar 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
123456789101112
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }

Nota

Prestar atención al tipo de dato seleccionado. 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.

Tipo de dato
Precisión
Tamaño
float
7 dígitos decimales
4 bytes
double
15 dígitos decimales
8 bytes

Aquí hay un ejemplo de uso de 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; }

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.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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