The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Magas szintű Programozás
.
google unix.com



Magas szintű Programozás Post kérdések C, C + +, Java, SQL, és más programozási nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Eltérés a / var / adm / messages sundar3350 SUN Solaris 15 03-11-2009 11:23 AM
Hogyan jutok elmúlt egy HTML:: szervezetek eltérés az RPM? jjinno A UNIX a dummies Kérdések és válaszok 2 08-07-2007 01:39 PM
VSFTP furcsaság Spetnik A UNIX a dummies Kérdések és válaszok 7 04-28-2004 03:58 PM
NIS login eltérés Henrik A UNIX a dummies Kérdések és válaszok 11 04-08-2003 10:17 AM
Su Jelszó furcsaság jacobsa A UNIX a dummies Kérdések és válaszok 4 05-30-2002 08:50 AM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 06-13-2009
Trones Trones is offline
Regisztrált felhasználó
  
 

Join Date: Dec 2008
Hozzászólások: 5
Java kettős kivonást furcsaság (nem a szokásos kerekítési eltérés)

Már megy keresztül java tutorial, és rohant át néhány furcsaság ebben a kis példa ...


Kód:
 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();
        }
    }
}

A bevallás furcsa - amikor megláttam az eredményeket, írtam egy kis programot, hogy levonták több szó lebegőpontos számok, melyek mindegyike a normál bináris decimális oddness (1,002-1,001 \u003d ,000999999997), de amikor futtatom a fenti kódot, értem, mi a következők:


Kód:
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

....

Nem vagyok biztos benne, hogy amit én csinálok rosszul vagy mi okozza. I've searched minden tájáról és minden Találtam az embereket kérdezett a hardver korlátait a lebegőpontos. Akármi segít akar lenni greatly appreciated.

----- ----- Post Update

Miután látta, hogy itt megjelenő Én csak rájöttem, nem volt, figyelembe véve a tudományos jelölést ... Fiút, hogy érzem magam most buta
  #2 (permalink)  
Old 06-14-2009
CRGreathouse CRGreathouse is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2009
Posts: 105
Ja, meg is találtam. Ez csak a szokásos kerekítési hiba, kimutatták, hogy túl sok tizedesjegy pontossággal.
Reply

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 08:53 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0