Variablentyp
-
Hallo,
es handelt sich um eine einfache Rechnung. Ich habe folgenden Code:
diff = zaehler - x; // Beginn Quotientenblock float q1 = (float)zaehler / (float)x; float q2 = x / zaehler;Und der Computer gibt folgendes aus:
**DIFF: 14
QW/TW: 1610612736
TW/QW: 0
TWu= 49 Su= 1225
QWu= 35 Qu= 1225
**Also, die Differenz berechnet er richtig, aber die Quotienten nicht.
35/49 =0,714
49 / 35 = 1,4Warum rechnet der Computer so einen Unsinn, bzw. gar nicht. Ich probieren schon etliches rum mit verschiedenen Variablentypen. Wo liegt mein Fehler?
-
QuotientX schrieb:
Wo liegt mein Fehler?
In dem Teil des Codes, den du nicht gezeigt hast. Wie gibst du die Werte denn aus?
-
printf("DIFF: %d\n", diff); printf("QW/TW: %d\n", q1); printf("TW/QW: %d\n", q2);So gebe ich aus:
-
Float mit %d ist ja auch Blödsinn. Nimm doch mal %f.
-
Ja, das war es wohl. fload ist notwendig, weil sehr schnell ganz lange Werte kommen.
-
Das wäre mit C++ nicht passiert.
