Windowsの電卓の内部変数の型について
Windowsの電卓ですが、Double型とDecimal型のいいとこ取りといいますか、両方の特徴を有しています。
具体的には、
A. 0.1+0.1+0.1・・・と加算をしていくと、Double型では誤差が出て0.3じゃなくなり、Decimalはちゃんと0.3、というようなことになります。
しかし電卓ではちゃんと0.3なり0.9となります。
B. 1 / 3 * 3 を順に計算すると、Double型では1.0となり、Decimalだと0.9999999999999となってしまいます。
しかし電卓ではちゃんと 1 になります。途中、1/3の時点で0.33333333333となってしまうにも関わらず、です。
このように、電卓はいたって普通の計算結果ではあるのですが、言語の型ではいいとこ取りに見えます。
どのような処理をしているのでしょうか?