net formato declarar decimals .net binary decimal representation

.net - declarar - formato decimal c#



Representación binaria de un decimal.NET (1)

Decimal.GetBits para la información que desea.

Básicamente, es un entero de 96 bits como la mantisa, más un bit de signo, más un exponente para decir cuántos decimales se desplazan a la derecha.

Entonces, para representar 3.261 tendrías una mantisa de 3261, un bit de signo de 0 (es decir, positivo) y un exponente de 3. Ten en cuenta que el decimal no está normalizado (deliberadamente), por lo que también puedes representar 3.2610 usando una mantisa de 32610 y un exponente de 4, por ejemplo.

Tengo más información en mi artículo sobre coma flotante decimal .

Hola a todos, pregunta rápida: ¿Cómo se representa un tipo decimal .NET en binario en la memoria?

Todos sabemos cómo se almacenan los números de punto flotante y, por lo tanto, las razones de su inexactitud, pero no puedo encontrar ninguna información sobre el decimal excepto lo siguiente:

  1. Aparentemente más precisos que los números de punto flotante
  2. Toma 128 bits de memoria
  3. Rango de signo 2 ^ 96 +
  4. 28 (a veces 29?) El total de dígitos significativos en el número

¿Hay alguna manera de que pueda resolver esto? El informático que hay en mí exige la respuesta y, después de una hora de investigación, no puedo encontrarla. Parece que hay muchos trozos desperdiciados o simplemente me estoy imaginando esto mal en mi cabeza. ¿Alguien puede arrojar algo de luz sobre esto por favor? Gracias.