縁の下の力持ち、FPUとは
コンピュータは、情報を0と1の二つの記号で表現しています。この0と1の並びは、ビット列と呼ばれ、数字や文字など様々な情報を表すことができます。私たちが普段使用している数字は、十進数と呼ばれる10を基数とする数体系ですが、コンピュータ内部では二進数と呼ばれる2を基数とする数体系が用いられています。
コンピュータ内部では、整数は二進数で正確に表現することができます。例えば、十進数の7は、二進数では111と表現されます。しかし、小数点を含む数値を二進数で正確に表現することは、必ずしもできません。これは、小数点以下の部分が無限に続く場合があるためです。例えば、十進数の0.1は、二進数では0.0001100110011...と無限に続く循環小数となり、有限の桁数で正確に表現することができません。
このような小数点を含む数値を、コンピュータで扱う場合は、浮動小数点方式と呼ばれる方法が用いられます。これは、数値を符号、指数部、仮数部の三つの部分に分けて表現する方式です。符号部は、数値の正負を表し、指数部は小数点の位置を表し、仮数部は数値の有効数字を表します。浮動小数点方式を用いることで、小数点を含む数値を一定の精度で表現することができます。
しかし、浮動小数点方式を用いた計算では、計算の過程で誤差が生じることがあります。これは、コンピュータ内部で扱える桁数が有限であるために、丸め誤差が発生するためです。そのため、小数点を含む数値を扱うプログラムを作成する際には、これらの誤差を考慮する必要があります。