const Variablen haben falsche Werte, gibt's ne logische Erklärung?
-
Hi Leute, hab hier ein kleines Problem:
const double deltaT = 1.5 * pow(10,-21); const double edivm = 1.76 * pow(10,11); // e/m = 1.6*10^-19 C / 9.1*10^-31 kg
Kann sich jemand erklären, wieso deltaT den Wert 0.000 und edivm den Wert 2139723857.9200001 hat?
Ich kanns mir leider nciht erklären, aber vielleicht bin ich auch nur zu doof (hoff).
-
Eigentlich dürfte das nicht compilieren, weil die pow-Aufrufe mehrdeutig sind (es gibt diverse pow-Überladungen, aber keine pow(int,int).) Die 10 explizit als double zu markieren (10.0) würde es tun. Ich frage mich allerdings, warum du es so kompliziert machst, was hältst du von
const double deltaT = 1.5e-21; const double edivm = 1.76e11;
-
Jo, lag daran, dass ich es als double hätte markieren müssen. Deine Lösung gefällt mir aber irgendwie sehr gut