T
hanni6al schrieb:
Erlaubt ist Addieren und Subtrahieren auch und natürlich auch binär operationen!
mfg
Dann sollst Du vermutlich im Speicher rum bitknispeln. Die Aufgabe ist daher eigentlich an sich schon mist, aber nun gut.
Du solltest Dir z.B. mal diesen Artikel durchlesen. Da steht, wie die binäre Repräsentation von Fließkommazahlen auf gängigen Plattformen aussieht.
Du kannst auf die einelnen Bits zugreifen indem Du die Addresse einer float-Variable reinterpretierst:
float var = 3.14159f;
unsigned long* handle = reinterpret_cast<unsigned long*>(&var);
//jetzt Bitoperationen auf *handle durchführen
Das ganze geht nur gut, wenn sizeof(unsigned long) == sizeof(float) ist. Außerdem musst Du dabei noch die Endianess beachten.
Ob das ganze sinnvoll ist, sei mal dahingestellt. Ich persönlich denke, dass Leute, die solche Aufgaben stellen, dringend nochmal eine C++-Schulung besuchen sollten.
Als Alternative könntest Du evtl. noch eine Multiplikation mittels Addition nachbauen und damit das Komma schieben und casten. Ja nach Anzahl der Iterationen schätze ich allerdings mal, dass das ziemlich ungenau wird.
PS: Wenn ich hier jetzt für den Vorschlag einen auf den Deckel bekomme, dann zurecht.