float x = 1/2 = 0 ???
-
wenn ich folgendes mach:
float x = 1/2;
kommt für x immer 0 rauß, nach adam riese sollten es aber natürlich 0,5 sein. mit nem float sollte das doch gehen ?!?
sobald ein wert unter 0 rauskommen sollte, kommt 0 rauß.wie soll ich das denn sonst machen ???
mfg
-
1.0/2.0 oder float(1)/2
aber static_cast is besser. war mir abezr zu viel zjm Tippen
-
Hi,
probiere es mal mit:
float x = (float) 1/2
Sollte zumindestens funktionieren. Warum das andere nicht geht, kann ich Dir auch nicht genau sagen.
-
Original erstellt von WG_Spritzwasser:
**wenn ich folgendes mach:float x = 1/2;
kommt für x immer 0 rauß, nach adam riese sollten es aber natürlich 0,5 sein. mit nem float sollte das doch gehen ?!?
sobald ein wert unter 0 rauskommen sollte, kommt 0 rauß.wie soll ich das denn sonst machen ???
mfg**
Mal kurz im C Standard nachlesen...
Der / Operator führt eine Integer Division durch, sobald beide Operanden vom Typ Integer sind. Sobald einer (oder alle beiden) der Operanden vom Typ float floating Point sind, führt der / Operator eine floating-point Division durch.
int i = 1, j = 2; float f; f = i / j; // integer division
f = (float)i / j; // floating-point division