Frage zum (Taschen-)Rechner

Welchen Taschenrechner verwendet ihr?

  • Stock Rechner (weil keine probleme)

    Stimmen: 10 37,0%
  • Market Rechner (wenn ja welcher)

    Stimmen: 11 40,7%
  • Ich verwende ihn eh nie

    Stimmen: 6 22,2%

  • Umfrageteilnehmer
    27
stefan-do schrieb:
Wenn ich 100-99, 9 rechne, kommt bei meinen speed 0,0999999 raus. Bei facebook gabt es schon so eine meldung, die wohl von lg gelöscht wurde

Wie einen Beitrag über deinem erwähnt ist dies KEIN Fehler.

Folgendes kleine Java Programm zeigt das selbe Verhalten:

Code:
public class Numerik {

    public static void main(String[] args) {
        double a = 100;
        double b = 99.9;
        double r1 = a - b;
        double r2 = 0.1;

        System.out.println(r1 + " mit Bitrepräsentation: " + Long.toHexString(Double.doubleToLongBits(r1)));
        System.out.println(r2 + " mit Bitrepräsentation: " + Long.toHexString(Double.doubleToLongBits(r2)));
    }
}
Die Ausgabe des Programms:
Code:
0.09999999999999432 mit Bitrepräsentation: 3fb9999999999800
0.1 mit Bitrepräsentation: 3fb999999999999a

Das Ganze liegt an den Gleitkommazahlen. Die CPU arbeitet im Binärsystem (sie kennt nur die Ziffern 1 und 0) und in diesem lassen sich manche Zahlen, welche im Dezimalsystem eine endliche Darstellung haben nicht exakt darstellen. So zB auch die 0,1 (in Binärdarstellung: 0,0001100110011...).
Dies führt dann dazu, dass "für uns" falsche Ergebnisse rauskommen.
Hier ein kleiner Beleg:
Gleitkommazahl
Und den Absatz drunter sollte jeder Programmierer sehr genau kennen. ;)

Ich hoffe ich konnte das "Problem" klar darstellen.

PS: Ausserdem hat der Google Taschenrechner (des "puren" Android) das selbe Verhalten, also kein Grund wieder über LG zu schimpfen. :p
 
Zuletzt bearbeitet:
Oder lasst mal 1 : 3 = 0,3333333333333333 x 3 = :flapper: ...sollte 1 sein

nun ja, gibt schlimmeres
 
Also in CalcBuddy ist 10,2-10,1=0,1 und 1/3*3=1 :D
 
Bei mir sind 10,2-10,1 sogar 0,1.

Das mit den 0,999999999999999999 ist doch eigentlich egal, denn man weiß ja dass es 1 sein soll und zwischen 0,999999999999 und 1 gibt es eh keine Zahl.:)
 
ich habe das eben mal auf meinem LGOS ausprobiert... default rechner... stock rom: rechnet korrekt - also 10,2 - 10,1 = 0,1 und 100 - 99,9 = 0,1

scheint also kein generelles problem zu sein...
 
Kann schon sein. Welche FW haste denn drauf?

Flix123 schriebt ja auch, dass er keine Probleme hat. Er hat aber auch die (für Deutschland) inoffizielle v10d.
 
Dieses "Feature " gibt's schon ewig, wie Presseonkel schon richtig bemerkt hat.


Sent from my GT-I9100 using Tapatalk
 
allerdings scheint ja immernoch nicht abschließend geklärt zu sein, woran es nun eigentlich liegt...
 
Bei CM7 tritt der Fehler auch auf...

aber naja... Gleitkommazahlen halt :D
 
Ich nutze auch RealCalc !!!
 

Ähnliche Themen

D
Antworten
2
Aufrufe
899
dudud
D
M
  • maRRRco
Antworten
10
Aufrufe
1.614
fighterchris
fighterchris
K
  • Kretzsche
Antworten
5
Aufrufe
1.191
fighterchris
fighterchris
Zurück
Oben Unten