Ik heb volgens mij een heel dom probleem. Ik moet een redelijk grote waarde vermenigvuldigen met een getal. De uitkomst hiervan klopt volgens mij niet echt. Dit is de Code
Voordat ik Taperemaining *4096 doe, komt deze waarde eruit: 8645031.
Nadat ik Taperemaining(met daarin de waarde 8645031) vermenigvuldig met 4096 komt er deze waarde uit:
1050308608.
Als ik dit met mijn rekenmachine uitreken moet er 35410046980 uitkomen(ongeveer).
Waarom klopt dit niet? Is mijn variabele te klein hiervoor? Ik vat em niet helemaal meer..
C++:
1
2
3
4
| long unsigned int Taperemaining; Taperemaining = Taperem[0] + (Taperem[1] << 8) + (Taperem[2] << 16) + (Taperem[3] << 24 ); // Berekening ShowMessage(Taperemaining); Taperemaining = (Taperemaining * 4096); |
Voordat ik Taperemaining *4096 doe, komt deze waarde eruit: 8645031.
Nadat ik Taperemaining(met daarin de waarde 8645031) vermenigvuldig met 4096 komt er deze waarde uit:
1050308608.
Als ik dit met mijn rekenmachine uitreken moet er 35410046980 uitkomen(ongeveer).
Waarom klopt dit niet? Is mijn variabele te klein hiervoor? Ik vat em niet helemaal meer..
[ Voor 4% gewijzigd door IJnte op 12-12-2004 19:08 ]
Exploring the world by bicycle! cyclingsilk.wordpress.com