Excel 2007に乗算を間違えるバグ--2進法と10進法の処理方法で:ニュース - CNET Japan
記事の一部抜粋
乗算の結果が6万5535になるときに発生する。2進演算に明るい人には説明するまでもないことだが、6万5535は2の16乗から1を引いた値。つまり、0以上の整数を2バイトで表したときの最大の整数である。2進法を10進法に変換する際にこの問題が発生する可能性が高い。
昔、SHARPとCASIOのポケコンを使っていたとき、賦金計算(ローン計算)プログラムを組んだことがありますが、SHARPのポケコンでは電算センターの計算とはどうしても一致しませんでした。CASIOはぴったりと合ったのですが、この違いは16進数計算と、10進数計算の違いでした。CASIOのポケコンは10進数計だったのです。
賦金計算では小数点10以下の数値を次の元利金に加算するのですが、多くのPCやポケコンのBASICは16進数計算のため、小数点以下の計算が苦手でした。
EXCELのPMT関数も同じ理由で概算で説明するぐらいの役にしか立ちませんでした。
今回のEXCELのバグも10進数へ変換するときのバグだということで、古い話を思い出してしまいました。