dezimal nach binär
-
Da hab ich doch glatt noch ne sehr wichtige Frage:
Wie kann ich Dezimalzahlen vom Typ float in entsprechende Binärwerte umwandeln???
Eine Standardfunktion scheint es wohl nicht zu geben, da in meinen Lehrbüchern ein Datentyp "Binär" nicht auftaucht.
Danke !!!
-
Schau Dir mal bitset an. Hab aber ka ob die mit float umgehen kann ?!
(Ich nehme doch an Du willst den "Binären" Wert anzeigen ?!)
-
Danke schonmal !
Ich will den Wert in eine Datei schreiben. Hab gerade gelesen, daß das wohl mit ofstream geht wenn man die option ios:binary setzt. Das ist wahrscheinlich schon die Lösung meines Problems.
Es währe aber natürlich trotzdem interessant zu wissen ob es prinzipiell auch geht mit einem einfachen Befehl eine Umwandlung vorzunemen, so daß man die Werte auch anzeigen oder direkt manipulieren kann.grüße, revolutz
-
Es währe aber natürlich trotzdem interessant zu wissen ob es prinzipiell auch geht mit einem einfachen Befehl eine Umwandlung vorzunemen, so daß man die Werte auch anzeigen oder direkt manipulieren kann.
Die CPU / dein Hauptspeicher kennt keine Floats (ok, ned ganz richtig, die FPU hat befehele, die binaerwaerte als flaots interpretieren kann ), sie kennt nur gut und boese und nicht gut,5
Also speichert intern dein Rechner deine floats eh binaer ab ... wenn du jetzt sehen willst, wie die binaer aussehen, musst ihm einfach nur sagen, dass er die float anders mal interpretieren soll.
versuchs mal mit :
float f = 3.14; unsigned int i = reinterpret_cast<unsigned int>(f); std::cout << i; float d = reinterpret_cast<float>(i); _ASSERT(d==f);
ne dezimal/hex Zahl wirklich "binaer", also im binaeren Zahlensystem darstellen ... dafuer gibts keine Standard funktion (im Gegensatz zu octal,dezimal, hexadezimal) ist aber leicht zu realisieren ... wenn man sich mit Zahlensystemen und String operationen auskennt. Die Idee mit dem Bitset ist auch nicht zu verachten ...
Ciao ...