Tipos 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
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 | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 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
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
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 | ||
---|---|---|
float | ||
double |
Aquí hay un ejemplo de uso de double
para almacenar 1.6
.
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; }
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 utilizardouble
por defecto, a menos que esté seguro de que la precisión defloat
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
.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 3.85
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
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 | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 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
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
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 | ||
---|---|---|
float | ||
double |
Aquí hay un ejemplo de uso de double
para almacenar 1.6
.
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; }
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 utilizardouble
por defecto, a menos que esté seguro de que la precisión defloat
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
.
¡Gracias por tus comentarios!