Ejercicio: Detección de tipos de punto flotante
- 8 minutos
En este ejercicio, trabajará con tipos de datos de punto flotante para obtener información sobre las diferencias matizadas entre cada tipo de datos.
Un punto flotante es un tipo de valor simple que representa números a la derecha de la posición decimal. A diferencia de los números enteros, hay otras consideraciones más allá de los valores máximos y mínimos que puede almacenar en un tipo de punto flotante determinado.
Evaluación de los tipos de punto flotante
En primer lugar, debe tener en cuenta los dígitos de precisión que permite cada tipo. La precisión es la cantidad de posiciones de valor almacenadas después del punto decimal.
En segundo lugar, debe tener en cuenta la manera en que se almacenan los valores y el impacto en la precisión del valor. Por ejemplo, float y double los valores se almacenan internamente en un formato binario (base 2), mientras que decimal se almacena en un formato decimal (base 10). ¿Por qué importa esto?
Realizar cálculos matemáticos con valores de punto flotante binarios puede producir resultados que puedan sorprenderle si está acostumbrado a las matemáticas decimales (base 10). A menudo, las matemáticas de punto flotante binario son una aproximación del valor real. Por lo tanto, float y double son útiles porque los números grandes se pueden almacenar mediante una superficie de memoria pequeña. Sin embargo, float y double solo se deben usar cuando una aproximación es útil. Por ejemplo, una variación de unos miles al calcular la salpicadura de una bola de nieve en un videojuego no influye mucho.
Cuando necesite una respuesta más precisa, debe usar decimal. Cada valor de tipo decimal tiene una superficie de memoria relativamente grande, pero realizar operaciones matemáticas le proporciona un resultado más preciso. Por lo tanto, debe usar decimal al trabajar con datos financieros o cualquier escenario en el que necesite un resultado preciso de un cálculo.
Uso de las propiedades MinValue y MaxValue para cada tipo float con signo
Elimine o use el operador de comentario de línea
//para comentar todo el código de los pasos anteriores.Para ver los intervalos de valores de los distintos tipos de datos, actualice el código en el Editor de Visual Studio Code de la siguiente manera:
Console.WriteLine("");
Console.WriteLine("Floating point types:");
Console.WriteLine($"float : {float.MinValue} to {float.MaxValue} (with ~6-9 digits of precision)");
Console.WriteLine($"double : {double.MinValue} to {double.MaxValue} (with ~15-17 digits of precision)");
Console.WriteLine($"decimal: {decimal.MinValue} to {decimal.MaxValue} (with 28-29 digits of precision)");
En el menú Archivo de Visual Studio Code, seleccione Guardar.
El archivo Program.cs debe guardarse antes de compilar o ejecutar el código.
En el panel EXPLORER, para abrir un terminal en la ubicación de la carpeta TestProject, haga clic con el botón derecho en TestProject y, a continuación, seleccione Abrir en terminal integrado.
Debe abrirse un panel de terminal y debe incluir un símbolo del sistema que muestre que el terminal está abierto en la ubicación de la carpeta TestProject.
En la ventana de comandos de Terminal, para ejecutar tu código, escribe dotnet run y presiona la tecla Enter.
Si ve un mensaje que indica "No se pudo encontrar un proyecto para ejecutar", asegúrese de que la línea de comandos de Terminal muestra la ubicación esperada de la carpeta TestProject. Por ejemplo:
C:\Users\someuser\Desktop\csharpprojects\TestProject>Deberías ver la siguiente salida:
Floating point types: float : -3.402823E+38 to 3.402823E+38 (with ~6-9 digits of precision) double : -1.79769313486232E+308 to 1.79769313486232E+308 (with ~15-17 digits of precision) decimal: -79228162514264337593543950335 to 79228162514264337593543950335 (with 28-29 digits of precision)
Como puede ver, float y double usan una notación diferente de la que usa decimal para representar sus valores más grandes y pequeños posibles. ¿Pero qué significa esta notación?
Descifrado de valores de punto flotante grandes
Dado que los tipos de punto flotante pueden contener números grandes con precisión, sus valores se pueden representar mediante "Notación E", que es una forma de notación científica que significa "veces 10 elevado a la potencia de". Por lo tanto, un valor como 5E+2 sería el valor 500 porque es el equivalente de 5 * 10^2 o 5 x 102.
Resumen
- Un tipo de punto flotante es un tipo de datos de valor simple que puede contener números fraccionarios.
- Elegir el tipo de punto flotante adecuado para la aplicación requiere que tenga en cuenta más que solo los valores máximos y mínimos que puede contener. También debe tener en cuenta cuántos valores se pueden conservar después del decimal, cómo se almacenan los números y cómo afecta su almacenamiento interno al resultado de las operaciones matemáticas.
- A veces, los valores de punto flotante se pueden representar mediante la notación "E" cuando los números crecen especialmente grandes.
- Hay una diferencia fundamental en la forma en que el compilador y el entorno de ejecución controlan
decimalen lugarfloatde odouble, especialmente al determinar la cantidad de precisión necesaria de las operaciones matemáticas.
Comprueba tus conocimientos
Comentarios
¿Le ha resultado útil esta página?
No
¿Necesita ayuda con este tema?
¿Desea intentar usar Ask Learn para aclarar o guiarle a través de este tema?