[C#] decimal型

decimal型は、他の言語では余り見かけない。CにもC++にもなかったのではないだろうか。
decimalの内部表現は16byte(128ビット)で、96bitのintegral, 1bitの符号、5bitのscaling factor。26bitは未使用。
浮動小数点表現と異なり、小数点以下のけた合わせで情報が失われることを防ぐ演算ができる。(失われる場合はある)そのため、この型は会計計算など下の桁までの情報を保存する必要がある場合に向いている。

new decimal(1234567, 0, 0, false,5)

で 12.34567を作ることができる。
最初の3つは、low, middle, highの32bitずつで3つを合わせると96bitが表現できる。

decimal m1 = 12.34567m

とも書いても良い。

広告
%d人のブロガーが「いいね」をつけました。