グーグルの電卓機能が計算ミス

文:Stephen Shankland(CNET News.com)
翻訳校正:ラテックス・インターナショナル

2008-08-28 15:04

 Googleの電卓機能で、一部の大きい数字の計算に問題が発生している。コンピュータの世界ではちらほら耳にするような話だが、とてつもなく大きい数字にちなんで名付けられた、超コンピュータマニアの会社にはあってはいけないことだろう。

Googleの電卓 一部の大きな数字で問題が発生するGoogleの電卓機能
提供:Google

 常時ではないが、一部の非常に大きい数字でエラーが発生する。例えば、2,999,999,999,999,999から2,999,999,999,999,998を引くと1になるが、Googleの電卓機能では0と表示される。

 しかし、切り捨てによって誤りが生じるというわけでもない。1,999,999,999,999,999引く1,999,999,999,999,995は0と、誤った答えが表示されるが、1,999,999,999,999,999引く1,999,999,999,999,993は6と、正しい答えが表示される。また、400,000,000,000,002引く400,000,000,000,001は0と、誤った答えが表示されるが、400,000,000,000,002引く400,000,000,000,000は2と、正しい答えが表示される。

 他人の不幸を喜ぶ人たちにとっては最高に楽しいことかもしれないが、Googleは、10の100乗(グーゴル)の計算も苦手なようだ。1グーゴル足す1引く1グーゴルの答えは1が正しいが、0になる。

Googleの立場での言い分

 確かに、正確さを維持しようとすれば、特殊な方法を使って数字をエンコードする必要があるため、この規模での計算は難しい。しかし、電卓を開発する人たちにとって幸いなことに、実世界では比較的まれな要件だ。2つの星の間の距離を測定する場合、数cmレベルの精度を得られるのはまれだ。また、このような精度が実際に意味を持つこともまれだ。

 多くの場合、大きい数字は、小さい数字(仮数)に10の乗数(指数)を掛けた2つの値による浮動小数点形式で表される。例えば、Googleの第2四半期の売り上げは12億5000万ドルだったが、「1,250,000,000ドル」「1.25掛ける10の9乗ドル」「1.25×10^9ドル」と表記することもできる。浮動小数点計算は大きな数の計算に便利だが、一般的に、最初の要素は限られた桁数の数字しか把握できないため、途中で若干の誤差が生じる。

 コンピュータでの正確な計算は、コンピュータが一般的に0または1の数字しかない2進数で計算をしていることに基づいている。一方、人は0から9までの数字を使った10進数計算を行う。正確性に問題が生じるのは、コンピュータが数字を2進数に変換して処理し、結果を10進数に戻して表示するためだ。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]