Eigener Datentyp Decimal Problem mit double
-
Ich spiel gerade etwas herum und wollte mir eine Klasse Decimal bauen, da ein double zum rechnen für Finanzen ja nicht gerade optimal ist.
Dazu wollte ich den Vorkommaanteil in einem unsigned long speichern, das Vorzeichen in einem int und den Nachkommaanteil als Mantisse in einem int.Wenn ich nun aber einen Operator baue:
CDecimal operator+(double val);und den double zerlegen will in mein Vorzeichen, Vorkommaanteil und die Mantisse, dann muss ich double ja irgendwie auseinander nehmen.
Ich stehe jetzt aber gerade etwas aufm Schlauch, ich weiss das bei einem double das 1. Bit das Vorzeichen, die nächsten 11 Bits der Exponent und die letzten die Genauigkeit sind.
Aber wie zerlege ich das jetzt? Ich muss da ja irgendwie was mit Bitoperationen machen?
-
Um die einzelnen Bits zu bekomen gibts in .Net die BitConverter Klasse. Aber nur so als Info: Es gibt in .Net einen Decimal Datentyp der genau den gleichen Zweck hat wie dein Eigenentwurf - warum verwendest nicht einfach den?
-
BitConverter und der Decimal Datentyp in .Net sind mir bekannt. Ich wollt das aber ich c++ (nicht CLI) mal selbst machen um es selbst gemacht zu haben.

Mitlerweile hab ich übrigens gefunden was ich machen muss.
-
Dann solltest du deine Frage auch im richtigen Forum stellen

-
Jetzt wo Du es sagst, sehe ich das es auch nur ein c++ Forum gibt...
Ich dachte hier würde es um c++ und managed c++ gehen, naja schönes Wochenende.
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.