decimal em c # mal-entendido?

(enquanto tentava analisar comodecimal funciona) && depois da leituraartigo @jonskeet e vendomsdn e pensando nas últimas 4 horas, Eu tenho algumas questões :

emesse link eles dizem algo muito simples:

1.5 x 10^2 tem2 números significativos

1.50 x 10^2 tem3 números significativos.

1.500 x 10^2 tem4 figuras significativas etc ...

ok ... nós temos a ideia.

do artigo de jon:

 sign * mantissa / 10^exponent

Como de costume, o sinal é apenas um bit, mas existem 96 bits de mantissa e 5 bits de expoente

 ^ _ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ ^^^^^

 1 _                     96                         5

Está bem

então maxmantiss val =2^96-1 = 79228162514264337593543950335 qual é :7.9228162514264*10^28 (de acordo com o meu iphone ... não consigo ver a representação do expoente no windows calc.)

aviso prévio :

7.9228162514264*10^28 tem14 números significativos (de acordo com os exemplos acima)

agora a parte com o bit 5 no expoente é irrelevante porque está nodenominador - então eu preciso do min val que é 2 ^ 0

questão 1 :

msdn diz: 28-29 significant digits

mas de acordo com a minha amostra (1.500 x 10^2 tem4 números significativos) eles têm2 números significativos que é7.9 (7 e 9).

se msdn teria escrito:

±79228162514264337593543950335 × 10^0

Eu entenderia isso, já que todos os dígitos significativos sãona expressão.

por que eles escrevem 28-29 mas exibem 2?

Questão 2 :

como a representação decimal (mantiss && exponent) será exibida para o valor 0.5?

o denominador max pode ser2^32-1 --> 31

obrigado rapazes.

Questão 3 :

1 + 96 + 5 = 102 bits.

msdn diz:

A palavra-chave decimal indica um tipo de dados de 128 bits.

128-102 = 26

poderia understnad do artigo porque não há um uso para esses 26 bits

questionAnswers(2)

yourAnswerToTheQuestion