![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#16
|
||||
|
||||
|
Cita:
Si uno acepta que sus mediciones serán precisas a 4 decimales, por dar un número, entonces sus mediciones no podrán ser mucho más precisas más allá de 5 decimales. Ergo... no tiene sentido continuar buscando más precisión. Por ejemplo: Estoy midiendo la altura de un andamio con un metro convencional (al centímetro)... y justo la marca está entre los 3,20 y 3,21. No tiene sentido práctico que pretenda medir hasta las milésimas si la cinta métrica no tiene esa unidad de medida. ¿Que valor tomo? ¿3,20 o 3,21? Según esta regla, ... no tengo otra elección... o asumo 3,20 ó 3,21. No puedo asegurar si es 3,205 o 3,209, 3,201... o cualquier otro número que esté en el rango [3,20; 3,21] Es por ello que una vez finalizada la medición, se adopta un criterio de redondeo. Y Por más preciso que sean los cálculos el valor exacto podría (y estará) en un margen de +- 0,5 ulp. Hagamos de cuenta que me consigo un metro con escala al milímetro... llego a que mide 3,203. El valor más preciso y exacto estará en el rango [3,2025; 3,2035]. Cita:
Creo que mis explicaciones se ilustrará mejor con una regla: Código:
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||+ | | | | * | | | 0 1 2 3 +-----------------------------------------------------------+ Código:
+-|-|-|-|-+-|-|-|-|-+-|-|-|-|-+-|-|-|-|-+-|-|-|-|-+-|-|-|-|-+ | | | | * * | | | 0 1 2 3 +-----------------------------------------------------------+ Código:
+---------+---------+---------+---------+---------+---------+ | | | | | | | 0 1 * * 3 +-----------------------------------------------------------+ Código:
+-------------------+-------------------+-------------------+ | | | | 0 * * 3 +-----------------------------------------------------------+ Quizá para ciertos números el algoritmo que implementado rrf no provoque demasiada perturbaciones, pero en lo general no es óptimo. Pruébese con decimales como: ,1919191919... o ,91919191... o incluso com estos: ,454545... y ,54545454... ![]() Creo que con ello queda más que evidente el porqué es inútil asumir decimales y redondeos más allá de lo que estamos dispuestos a tolerar. Saludos, |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como redondear un numero en un procedimiento en Firebird | Gaby123 | SQL | 0 | 26-02-2007 18:25:26 |
| Cómo Redondear a 4 decimales un campo de tipo Numérico | vick | Conexión con bases de datos | 1 | 11-10-2005 01:04:23 |
| Funcio para obtener las decimas de segundo | enzo | Varios | 2 | 13-05-2005 01:06:11 |
| Mostrar un Float como un hh:mm:ss | rjsitruiz | Impresión | 2 | 04-07-2004 14:25:29 |
|