|
| Besynderlig fejl i lommeregner Fra : JKH |
Dato : 13-12-04 22:12 |
|
Jeg har opdaget en besynderlig fejl i Panterens lommeregner:
Som ventet giver 100 * 0,56 = 56
.... og 1000 * 0,56 = 560
Men 10000 * 0,56 = 5600.000000000001
Så prøvede jeg flere andre multiplikationer, der alle "opførte" sig normalt
- indtil jeg prøvede med 0,57:
100 * 0.57
= 57
1000 * 0.57
= 570
10000 * 0.57
= 5699.999999999999
?!
Da jeg så skal til at skrive dette indlæg, benytter jeg lommeregnerens
indbyggede papirfunktion, der nu viser en variation af problemet:
100 * 0.56
= 56.00000000000001
1000 * 0.56
= 560
10000 * 0.56
= 5600.000000000001
.... og:
100 * 0.57
= 56.99999999999999
1000 * 0.57
= 570
10000 * 0.57
= 5699.999999999999
Det "indbyggede" display i lommeregneren viser dog stadig de førstnævnte
resultater. Producerer andres lommeregner samme fejl? (Hvad jeg nok lidt
håber
/Jan
| |
Peter Kiil (13-12-2004)
| Kommentar Fra : Peter Kiil |
Dato : 13-12-04 22:55 |
|
JKH - nospam@anywhere.com on 13/12/04 22:12 wrote:
> Det "indbyggede" display i lommeregneren viser dog stadig de førstnævnte
> resultater. Producerer andres lommeregner samme fejl? (Hvad jeg nok lidt
> håber
10000 * 0.56
= 5600
10000 * 0.57
= 5700
100 * 0.56
= 56
1000 * 0.56
= 560
10000 * 0.56
= 5600
Men virker tilsyneladende fint....
--
/peter
http://spacerent.dk - Webhosting fra 39,-/md.
| |
JKH (13-12-2004)
| Kommentar Fra : JKH |
Dato : 13-12-04 23:09 |
|
Peter Kiil at spam@kiil.net wrote on 13/12/04 22:55:
> JKH - nospam@anywhere.com on 13/12/04 22:12 wrote:
>
>> Det "indbyggede" display i lommeregneren viser dog stadig de førstnævnte
>> resultater. Producerer andres lommeregner samme fejl? (Hvad jeg nok lidt
>> håber
>
> 10000 * 0.56
> = 5600
>
> 10000 * 0.57
> = 5700
>
> 100 * 0.56
> = 56
>
> 1000 * 0.56
> = 560
>
> 10000 * 0.56
> = 5600
>
>
> Men virker tilsyneladende fint....
Okay, jeg kan se behovet for at angive maskine og styresystem:
PowerBook 12" 1.33 GHz, 768 MB ram, OS 10.3.5
Jeg har i mellemtiden fået min kæreste til at prøve: Samme underlige
resultat. Hun har samme OS 10.3.5 men iBook G3 800 MHz og 384 MB ram.
Hvilken maskine og system kører du, Peter?
/Jan
| |
Peter Kiil (13-12-2004)
| Kommentar Fra : Peter Kiil |
Dato : 13-12-04 23:31 |
|
JKH - nospam@anywhere.com on 13/12/04 23:09 wrote:
> Okay, jeg kan se behovet for at angive maskine og styresystem:
> PowerBook 12" 1.33 GHz, 768 MB ram, OS 10.3.5
>
> Jeg har i mellemtiden fået min kæreste til at prøve: Samme underlige
> resultat. Hun har samme OS 10.3.5 men iBook G3 800 MHz og 384 MB ram.
>
> Hvilken maskine og system kører du, Peter?
PowerBook 15" 1.5 GHz, 1GB ram, 10.3.6
--
/peter
http://spacerent.dk - Webhosting fra 39,-/md.
| |
Preben Bødker Nielse~ (13-12-2004)
| Kommentar Fra : Preben Bødker Nielse~ |
Dato : 13-12-04 23:43 |
|
JKH <nospam@anywhere.com> wrote:
> Jeg har opdaget en besynderlig fejl i Panterens lommeregner:
Prøv at sætte nøjagtigheden ned.
Lommeregner/Nøjagtighed/
Din er vist sat til maks.=16
/Preben
--
http://www.ravnekrogen.dk/gallery/salg
preben AT ravnekrogen.dk . ICQ 138052172 . AIM/Skype prebenbodker
| |
JKH (14-12-2004)
| Kommentar Fra : JKH |
Dato : 14-12-04 00:25 |
|
Preben Bødker Nielsen at spam@events.dk wrote on 13/12/04 23:43:
> JKH <nospam@anywhere.com> wrote:
>
>> Jeg har opdaget en besynderlig fejl i Panterens lommeregner:
>
> Prøv at sætte nøjagtigheden ned.
> Lommeregner/Nøjagtighed/
>
> Din er vist sat til maks.=16
Næh... den var nu sat til 12 (har heller aldrig "pillet" derinde . Efter
at have sat den ned til 10, opfører displayet i lommeregneren sig rigtigt,
men papirstrimmelen viser nu:
10000 * 0.56
= 5600.000000000001
1000 * 0.56
= 560
100 * 0.56
= 56.00000000000001
10 * 0.56
= 5.600000000000001
Noget er der jo galt, da der ikke er konsekevens i hvornår der er "spinkle
decimaler"?!
Hvordan ser det ud, hvis du vælger at se papirstrimlen, Preben?
/Jan
| |
Preben Bødker Nielse~ (14-12-2004)
| Kommentar Fra : Preben Bødker Nielse~ |
Dato : 14-12-04 16:23 |
|
JKH <nospam@anywhere.com> wrote:
> Hvordan ser det ud, hvis du vælger at se papirstrimlen, Preben?
Med nøjagtighed på 10 ser den således ud:
10000 * 0.56
= 5600
1000 * 0.56
= 560
100 * 0.56
= 56
10 * 0.56
= 5.6
Med nøjagtighed på 16 får jeg samme resultater som dig, men kun på
display, ikke på strimlen.
Does it matter
/Preben
--
http://www.ravnekrogen.dk/gallery/salg
preben AT ravnekrogen.dk . ICQ 138052172 . AIM/Skype prebenbodker
| |
Thomas Hansen (13-12-2004)
| Kommentar Fra : Thomas Hansen |
Dato : 13-12-04 23:47 |
|
JKH <nospam@anywhere.com> wrote:
> Jeg har opdaget en besynderlig fejl i Panterens lommeregner:
>
Snip
> /Jan
Hej Jan!
Længe siden...
Jeg kan ikke reproducere fejlen her, hverken på min PM G4 400 MHz med
10.3.6 eller på min Pismo med samme system.
Prøv at opdatere til 10.3.6?!
/Thomas
--
All hail the black kitty!
Reply to thomash-at-skydebanen.net
iChat: thoomz
| |
JKH (14-12-2004)
| Kommentar Fra : JKH |
Dato : 14-12-04 00:26 |
|
Thomas Hansen at no@spam.net wrote on 13/12/04 23:46:
> JKH <nospam@anywhere.com> wrote:
>
>> Jeg har opdaget en besynderlig fejl i Panterens lommeregner:
>>
> Snip
>> /Jan
>
> Hej Jan!
> Længe siden...
> Jeg kan ikke reproducere fejlen her, hverken på min PM G4 400 MHz med
> 10.3.6 eller på min Pismo med samme system.
Hmm... heller ikke hvis du vælger at vise papirstrimmel?
> Prøv at opdatere til 10.3.6?!
Ja, det ser ud til at jeg må til det
Hils hjemme
/Jan
| |
Preben Bødker Nielse~ (14-12-2004)
| Kommentar Fra : Preben Bødker Nielse~ |
Dato : 14-12-04 16:25 |
|
JKH <nospam@anywhere.com> wrote:
> > Thomas Hansen at no@spam.net wrote on 13/12/04 23:46:
> > Prøv at opdatere til 10.3.6?!
>
> Ja, det ser ud til at jeg må til det
Det ændrer intet at opdatere til OS 10.3.6.
/Preben på 10.3.6
--
http://www.ravnekrogen.dk/gallery/salg
preben AT ravnekrogen.dk . ICQ 138052172 . AIM/Skype prebenbodker
| |
Jørgen Nørgaard (14-12-2004)
| Kommentar Fra : Jørgen Nørgaard |
Dato : 14-12-04 14:27 |
|
JKH wrote:
>Jeg har opdaget en besynderlig fejl i Panterens lommeregner:
>
>Som ventet giver 100 * 0,56 = 56
>
>... og 1000 * 0,56 = 560
>
>Men 10000 * 0,56 = 5600.000000000001
>
>Så prøvede jeg flere andre multiplikationer, der alle "opførte" sig normalt
>- indtil jeg prøvede med 0,57:
>
>100 * 0.57
>= 57
>
>1000 * 0.57
>= 570
>
>10000 * 0.57
>= 5699.999999999999
>
>?!
>
>Da jeg så skal til at skrive dette indlæg, benytter jeg lommeregnerens
>indbyggede papirfunktion, der nu viser en variation af problemet:
>
>100 * 0.56
>= 56.00000000000001
>
>1000 * 0.56
>= 560
>
>10000 * 0.56
>= 5600.000000000001
>
>... og:
>
>100 * 0.57
>= 56.99999999999999
>
>1000 * 0.57
>= 570
>
>10000 * 0.57
>= 5699.999999999999
>
>Det "indbyggede" display i lommeregneren viser dog stadig de førstnævnte
>resultater. Producerer andres lommeregner samme fejl? (Hvad jeg nok lidt
>håber
>
>
>
Ikke alle tal kan repræsenteres præcist internt på en computer (i
standard repræsentation for flydende tal).
Med et perl (fordi det er hurtigt) eksempel:
#!/usr/bin/perl
my $f=0.57;
printf("Nu: %.18f\n", $f );
0.569999999999999951
Med 15 decimaler ser man ikke upræcisionen.
Dette er arkitektur og OS uafhængigt.
>/Jan
>
>
>
| |
Henrik Münster (15-12-2004)
| Kommentar Fra : Henrik Münster |
Dato : 15-12-04 00:25 |
|
In article <41bee9fa$0$224$edfadb0f@dread11.news.tele.dk>,
Jørgen Nørgaard <NoSPAM-jnp@nO-anneli.dk-sPAm> wrote:
> Ikke alle tal kan repræsenteres præcist internt på en computer (i
> standard repræsentation for flydende tal).
>
> Med et perl (fordi det er hurtigt) eksempel:
>
> #!/usr/bin/perl
> my $f=0.57;
> printf("Nu: %.18f\n", $f );
>
> 0.569999999999999951
>
> Med 15 decimaler ser man ikke upræcisionen.
>
> Dette er arkitektur og OS uafhængigt.
Var der ikke noget om, at vi gjorde tykt nar af Pentium-processoren for
nogle år siden, da det viste sig, at den ikke kunne regne rigtigt? Nu må
vi ikke håbe, at Windows-folket hører om det her.
--
Venlig hilsen
Henrik Münster
Esbjerg
| |
JKH (17-12-2004)
| Kommentar Fra : JKH |
Dato : 17-12-04 06:57 |
|
Henrik Münster at news@muenster.dk wrote on 15/12/04 0:24:
> In article <41bee9fa$0$224$edfadb0f@dread11.news.tele.dk>,
> Jørgen Nørgaard <NoSPAM-jnp@nO-anneli.dk-sPAm> wrote:
>
>> Ikke alle tal kan repræsenteres præcist internt på en computer (i
>> standard repræsentation for flydende tal).
>>
>> Med et perl (fordi det er hurtigt) eksempel:
>>
>> #!/usr/bin/perl
>> my $f=0.57;
>> printf("Nu: %.18f\n", $f );
>>
>> 0.569999999999999951
>>
>> Med 15 decimaler ser man ikke upræcisionen.
>>
>> Dette er arkitektur og OS uafhængigt.
>
> Var der ikke noget om, at vi gjorde tykt nar af Pentium-processoren for
> nogle år siden, da det viste sig, at den ikke kunne regne rigtigt? Nu må
> vi ikke håbe, at Windows-folket hører om det her.
Det var der nemlig lige præcis Men en opdatering til den nye 10.3.7 har
klaret problemer. Både med præcision på 10 og 12 opfører både display og
strimmel sig nu som de skal.
Som jeg forstod Jørgen Nørgaard, er den problematik han beskriver
"arkitektur og OS uafhængigt", hvilket i mine ører betyder, at og
Wintel-platformen har dette "problem"... hvis det kan trøste.
/Jan
| |
|
|