# (x+1)-x=0



## Amen (21. Nov 2012)

Hallo 

Ich hab hier folgende Aufgabenstellung:


> Wie gesehen ergibt sich fur den Datentyp float
> 
> 8.0 * 10^12 + 42 = 8.0 * 10^12
> 
> ...



Ich hab schon viel ausprobiert, aber ich komme beim besten Willen nicht drauf, wie das Programm aussehen soll ???:L

Ich hoffe auf Tipps


----------



## Marco13 (21. Nov 2012)

Spontaner, erster Gedanke: Binäre Suche
x = 0 -> Geht nicht
x = Float.MAX_VALUE -> Geht
Mitte:
x = Float.MAX_VALUE * 0.5 -> Angenommen, das geht
Mitte:
x = Float.MAX_VALUE * 0.75 -> ...

Vielleicht geht's auch geschickter...


----------



## KSG9|sebastian (21. Nov 2012)

Um aus der FAQ zu zitieren:



			
				Ark hat gesagt.:
			
		

> Jein. Eine Dezimalzahl ist nur dann exakt als Gleitkommazahl darstellbar, wenn die Anzahl der zur Darstellung benötigten Binärstellen klein genug ist (siehe Frage B.4 und Frage B.6). Bei irrationalen Zahlen wie Pi oder Wurzel aus 2 kann diese Bedingung niemals erfüllt werden. *Eine rationale Zahl q = x/y (maximal gekürzt) hat genau dann endlich viele binäre Nachkommastellen, wenn y eine Zweierpotenz (1, 2, 4, 8, 16, …) ist, sonst eben nicht.*


Quelle:
http://www.java-forum.org/allgemein...uble-float-gleitkommazahlen-alternativen.html

D.h. vielleicht kommst du über die Binärdarstellung weiter...


----------

