Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Bugg i kalkylatorn

Tråden skapades och har fått 11 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Nacka
  • 2005-02-10 14:17

Hittade en kul grej i den kalkylatorn som följer med os-x. Om man skriver in 9999999999999999 och tar det gånger 1 så blir resultatet 10000000000000000. En enkel liten räkne miss...

hehe! Ja du det stämmer.. undra om den räknar fel på annat också? Hur upptäckte du det? Hade du lite och göra och satt och testade eller?

  • Medlem
  • Nacka
  • 2005-02-10 14:58

En kollega kom in och frågade om jag ville stress testa min nya mac mini. På pc kan man skriva in en massa nior och sedan trycka gånger ! så försöker den gör fakultet beräkningar och processorn går upp i max (macen var mycket smartare och sa direkt att det inte var någon ide att försöka beräkna ). Men jag slant först med shift tangenten och det blev en etta....

  • Medlem
  • Bollnäs
  • 2005-02-10 15:46
Ursprungligen av a-born:

En kollega kom in och frågade om jag ville stress testa min nya mac mini. På pc kan man skriva in en massa nior och sedan trycka gånger ! så försöker den gör fakultet beräkningar och processorn går upp i max (macen var mycket smartare och sa direkt att det inte var någon ide att försöka beräkna ). Men jag slant först med shift tangenten och det blev en etta....

Det säger Windows kalkylator till om också, efter några sekunder kommer det upp "denna beräkning kan ta lång tid att avsluta......Vill du fortsätta?" i stort sett.

  • Medlem
  • Luleå
  • 2005-02-10 16:15
Ursprungligen av bogg:

Det säger Windows kalkylator till om också, efter några sekunder kommer det upp "denna beräkning kan ta lång tid att avsluta......Vill du fortsätta?" i stort sett.

hehe, ja den ska göra det men på win 98 var det lätt att få blåskärm efter några beräkningar..

Tjena

En mindre trevlig sak är att numera kan man bara ha 3 olika valutor, i valutaomvandlaren, gissa om jag blev förvånad när jag uppdaterade valutan och ville konvertera till svenska kronor och det bara fanns US dollar Euro och jag tror det var brittiska pund!

någon som vet hur man får tillbaka det?

Mvh

  • Medlem
  • Helsingborg
  • 2005-02-14 00:51

Där ser man bara den inte räknar fel i vanliga fall

  • Medlem
  • Malmö
  • 2005-02-14 07:16
Ursprungligen av a-born:

Hittade en kul grej i den kalkylatorn som följer med os-x. Om man skriver in 9999999999999999 och tar det gånger 1 så blir resultatet 10000000000000000. En enkel liten räkne miss...

Med utgång från det du skrev blev det dåligt vid 9999999999999998 * 1 = 9999999999999996

Kanske något att vidarebefodra till Apple?

Ursprungligen av Timber:

Med utgång från det du skrev blev det dåligt vid 9999999999999998 * 1 = 9999999999999996

Kanske något att vidarebefodra till Apple?

Har vidarebefodrat det som en bugg till Apple. Så nu är det väl bara att vänta å se hur länge det tar innan det fixas.

  • Oregistrerad
  • 2005-02-14 08:40
Ursprungligen av mrsandin:

Har vidarebefodrat det som en bugg till Apple. Så nu är det väl bara att vänta å se hur länge det tar innan det fixas.

Kan nog ta tid - låter relaterat till float och double / double long och skall man räkna noggrannare så blir det långsammare (problem?) och större.
Inget problem men kanske en smula oprioriterat.
Det finns ingen inställning (avancerad kalkylator el.dyl.)

EDIT: det var jag som ränknade fel

Ursprungligen av a-born:

Hittade en kul grej i den kalkylatorn som följer med os-x. Om man skriver in 9999999999999999 och tar det gånger 1 så blir resultatet 10000000000000000. En enkel liten räkne miss...

Det är egentligen ingen "bugg" annat än att Apples utvecklare kanske gjort några mindre bra val i avrundningen av resultatet. Det sätt som en processor hanterar flyttal på har nämligen några mindre önskvärda sidoeffekter, framför allt avrundningsproblem och absorption (att stora tal "sväljer" små, så att t.ex. 1e15 + 1 = 1e15). De problemen går inte att kringgå eftersom de är så djupt rotade i flyttalsrepresentationens begränsningar, så därför brukar man behöva dölja det med avrundning. Fenomenet dyker för övrigt upp i Perl också

% perl -de 1

Loading DB routines from perl5db.pl version 1.22
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   1
  DB<1> printf("%f", 99999999999999999 * 1)
100000000000000000.000000
  DB<2> printf("%f", ((99999999999999999 * 1)-1))
100000000000000000.000000
1
Bevaka tråden