Datentyp decimal: Bitverwendung



  • Guten Abend,

    ich beschloss vor Kurzem noch mal schnell mein C#-Einsteigerbuch durchzulesen und kam schon bei den Datentypen ins Grübeln. Ich hatte mir vorher nie so genau Gedanken über den Wertebereich gemacht, da er ja normalerweise völlig ausreichend ist.

    Doch dann sah ich: eine decimal-Variable belegt 128 (!) Bit. Herausgefunden habe ich, dass 96 Bit für die Mantisse verwendet werden. Gut, dann sind halt sehr genaue Werte speicherbar. Aber wozu werden die restlichen 32 Bit verwenden ?!

    1 Bit benötigt man noch für das Vorzeichen und noch welche für den Exponenten. Aber niemals 32, oder? Weiß jemand warum das so ist? Hab mit Google leider nichts gefunden.

    Ich benutzte übrigens die Visual C# 2010 Express Edition.

    MfG Tobi


  • Administrator

    http://msdn.microsoft.com/en-us/library/1xkhs06w.aspx

    Wieso genau Bereiche freigelassen wurden, ist mir auch nicht ganz klar. Gefüllt wurden sie sehr wahrscheinlich aber wegen des Paddings, damit die CPU die Struktur besser verarbeiten kann.

    Grüssli


Anmelden zum Antworten