![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| High Level Programmering Post spørsmål om C, C + +, Java, SQL og andre programmeringsspråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Uoverensstemmelse i / var / ADM / meldinger | sundar3350 | Sun Solaris | 15 | 03-11-2009 11:23 |
| Hvordan får jeg forbi en HTML:: enheter avvik på en RPM? | jjinno | UNIX for Dummies Spørsmål og svar | 2 | 08-07-2007 01:39 |
| VSFTP særhet | Spetnik | UNIX for Dummies Spørsmål og svar | 7 | 04-28-2004 03:58 |
| NIS login avvik | Henrik | UNIX for Dummies Spørsmål og svar | 11 | 04-08-2003 10:17 |
| Su Passord særhet | jacobsa | UNIX for Dummies Spørsmål og svar | 4 | 05-30-2002 08:50 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Java dobbelt subtraksjon særhet (ikke vanlig avrunding avvik)
Jeg har gått gjennom en java tutorial, og løp over noen strangeness i dette lille eksempelet ... Code:
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();
}
}
}
Avkastningen er rart - da jeg så resultatene, skrevet jeg et lite program som trekkes en rekke bokstavelig flyttall tall, alle med normal binær til desimal oddness (1,002 til 1,001 \u003d ,000999999997), men når jeg kjører over kode, får jeg hva som er nedenfor: Code:
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 .... Jeg er ikke sikker på om det er noe jeg gjør galt eller hva som forårsaker den. Jeg har søkt overalt og alt jeg har funnet er folk som spør om maskinvaren begrensninger floating point aritmetikk. Eventuelle hjelpe ville være verdsatt. ----- Innlegg Update ----- Etter å ha sett den postet her jeg innså jeg var ikke tar hensyn til vitenskapelig notasjon ... Gutt å jeg føler meg dum nå
|
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|