新的 IEEE 128 位十进制浮点类型https://en.wikipedia.org/wiki/Decimal128_floating-point_format指定有效位(尾数)可以用两种方式之一表示,或者作为简单的二进制整数,或者以密集十进制表示(在这种情况下,每十位代表三个十进制数字)。
C# 的decimal
类型早于该标准,但具有相同的想法。它带有二进制整数有效位。
从表面上看,这似乎效率低下。对于加法和减法,要排列有效数字,您必须将其中一个除以十的幂;除法是所有算术运算符中最昂贵的。
选择的原因是什么?什么相应的优势被认为值得惩罚?