web-dev-qa-db-ja.com

スプレッドシートプログラムで非常に大きな数を使用するにはどうすればよいですか?

LibreOffice Calc または OpenOffice.org Calc で大きな指数を計算しようとすると、結果が誤って表示されます。 13 ^ 18を計算するこれらの2つの例を参照してください。

LibreOffice Calcの使用

enter image description here

OpenOffice.org Calcの使用

enter image description here

電卓( gcalctool )を使用して見つけることができるため、どちらの場合も結果は誤りです。

enter image description here

上記のテストはすべてUbuntuで行われました。 MS OfficeのExcel にアクセスできないため、コメントできません。

これで、電卓の使用は可能になりますが、面倒です。テーブルに500を超える値を入力する必要があります。 オイラーの定理 または フェルマーの小定理 またはこれらの結果に頼ることができることは知っていますが、実際には前述の表を使用して数値の妥当性を示します(および使用)これらの定理の。

スプレッドシートプログラムを誘導して正しい結果を得る方法はありますか?

3
Masroor

スプレッドシートプログラムを誘導して正しい結果を得る方法はありますか?

おそらくそうではありません。

確かにExcelであり、他のスプレッドシートプログラム(Excelとの互換性のため)は64ビットIEEE形式に基づく浮動小数点数を使用することを期待しています。これは、現在のほとんどのCPUのハードウェアに実装されているため、高速です(適度なサイズのスプレッドシートでも、多くの計算が必要になる場合があります)。

しかし浮動小数点は有限サイズの表現であるため、実数の有限サブセットのみを表します。それ以外はすべて概算されるか、エラー状態になります。

制限の詳細は広く文書化されています(例:すべてのコンピューター科学者が浮動小数点演算について知っておくべきこと)が、これらはすぐに技術的になります。

6
Richard

Excelユーザーの場合は、xNumbersを試すことができます。これは、 ExcelのXnumbers で入手できるフリーウェアのアドインです。

1
Ton Jeursen