The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de Alto Nivel
.
google unix.com



Programación de Alto Nivel Plantear preguntas acerca de C, C + +, Java, SQL, y otros lenguajes de programación aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Discrepancia en / var / adm / messages sundar3350 Sun Solaris 15 03-11-2009 11:23 AM
¿Cómo puedo obtener un pasado de HTML:: entidades de discrepancia en un RPM? jjinno UNIX for Dummies Preguntas y Respuestas 2 08-07-2007 01:39 PM
VSFTP rareza Spetnik UNIX for Dummies Preguntas y Respuestas 7 04-28-2004 03:58 PM
NEI ingreso discrepancia Henrik UNIX for Dummies Preguntas y Respuestas 11 04-08-2003 10:17 AM
Su Contraseña Oddity jacobsa UNIX for Dummies Preguntas y Respuestas 4 05-30-2002 08:50 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 06-13-2009
Trones Trones is offline
Usuario Registrado
  
 

Fecha: diciembre 2008
Puestos: 5
Java resta doble rareza (no la habitual discrepancia redondeo)

He estado pasando por un tutorial de java, y corrió a través de algún extraño en este pequeño ejemplo ...


Código:
 class SqrRoot {
    public static void main(String args[]) {
        double num,sroot,rerr,resquare;
        
        for(num = 1.0; num < 100.0; num++) {
            sroot = Math.sqrt(num);
            System.out.println("Square root of " + num + " is " + sroot);
            
            // compute rounding error
            resquare = (sroot * sroot);
            rerr = num - resquare;
            System.out.println("Rounding error: num + " - " + resquare + " = " + rerr);
            System.out.println();
        }
    }
}

El retorno es extraño - cuando vi los resultados, he escrito un pequeño programa que restan una serie de números de punto flotante literal, todo con el normal binario a decimal rareza (1,002 - 1,001 \u003d .000999999997), pero cuando ejecuto el anterior código, me sale lo siguiente:


Código:
Square root of 1.0 is 1.0
1.0 - 1.0 = 0.0

Square root of 2.0 is 1.4142135623730951
2.0 - 2.0000000000000004 = -4.440892098500626E-16

Square root of 3.0 is 1.7320508075688772
3.0 - 2.9999999999999996 = 4.440892098500626E-16

....

No estoy seguro si es algo de lo que estoy haciendo mal o lo que está causando. He buscado por todas partes y todos los que he encontrado es la gente preguntando sobre las limitaciones del hardware de la aritmética de punto flotante. Cualquier ayuda sería muy apreciada.

Publicar Actualización ----- -----

Después de ver que aquí sólo me di cuenta de que no teniendo en cuenta la notación científica ... Niño ahora me siento tonta
 

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 05:51 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0