Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Java Datentypumwandlung

Hallo,
ich habe eine Aufgabe bekommen, Datentypenkonventierung in Java nachzuvollziehen, da ich auf dem Papier gar keine Ahnung habe, habe ich es in eclipse eingegeben und die Ergebnisse herausekommen.
Folgender Quellcode:

public static void main(String[] args) {
int i, j, result;
float x, y;

x = 888888888;
i = (int)x; 
j = 888888888; 
System.out.println("x - i :" + (x-i));
System.out.println("x - j :" + (x-j));
System.out.println("i - j :" + (i-j));
}

Ergebnisse:
x - i :0.0
x - j :0.0
i - j :8

Kann mir jemand diese Ergebnisse erklären? Ich komme beim besten Willen nicht darauf.


Antworten zu Java Datentypumwandlung:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

wenn ich das noch richtig in Erinnerung habe: Die Ursache ist die Berechnung mit deiner Gleitkommazahl vom Typ float.
Bei der Berechnung von Gleitkommazahlen wird intern mit Mantissen gearbeitet. Und dort passieren dann diese Berechnungsfehler, weil irgendwo irgendwas hinten runterfällt beim Runden oder so. Vor allem hast du das Phänomen bei großen oder sehr kleinen Zahlen. Mach aus 888888888 einfach mal 888888 und staune was passiert :)

Wenn du dich näher mit dem Thema beschäftigen willst/musst kannst du dir das hier mal rein ziehen:

http://de.wikipedia.org/wiki/IEEE_754

http://de.wikipedia.org/wiki/Mantisse

Mario 8)


« ACCESS: VBA Spaltenüberschriften nicht gleich der SpaltennamenStringübergabe an aufrufendes Batchprogramm »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Java
Java ist eine von der Firma SUN entwickelte Programmiersprache. Da Java unabhängig vom Betriebssystem läuft, kann ein einmal geschriebenes Programm auf allen Ja...

Javascript
JavaScript ist eine weit verbreitete Skriptsprache, die ursprünglich von Netscape für das DOM-Scripting für Webseiten entwickelt wurde. Sie hat sich seitde...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...