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:
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
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; }
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
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
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; }
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.
¡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
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
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:
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
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; }
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
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
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; }
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.
¡Gracias por tus comentarios!