IEEE が 32 ビット浮動小数点数を単精度と呼ぶ理由が気になります。それは単なる標準化の手段だったのでしょうか、それとも「単一」は実際には単一の「何か」を指しているのでしょうか。
それは単に標準化されたレベルですか?のように、精度レベル 1 (シングル)、精度レベル 2 (ダブル) など? 私はあちこち検索して、浮動小数点数の歴史について多くのことを見つけましたが、私の質問に完全に答えるものは何もありません.
IEEE が 32 ビット浮動小数点数を単精度と呼ぶ理由が気になります。それは単なる標準化の手段だったのでしょうか、それとも「単一」は実際には単一の「何か」を指しているのでしょうか。
それは単に標準化されたレベルですか?のように、精度レベル 1 (シングル)、精度レベル 2 (ダブル) など? 私はあちこち検索して、浮動小数点数の歴史について多くのことを見つけましたが、私の質問に完全に答えるものは何もありません.
当時作業していたマシンでは、float が 1 つの 36 ビット レジスタを占有していました。double が 2 つの 36 ビット レジスタを占有していました。ハードウェアには、数値の 1 レジスタ バージョンと 2 レジスタ バージョンを操作するための個別の命令がありました。それが用語の由来かどうかは定かではありませんが、可能性はあります。
ハードウェア ビューに加えて、ほとんどのシステムでは、Fortran の「実数」型を実装するために 32 ビット形式が使用され、Fortran の「倍精度」型を実装するために 64 ビット形式が使用されました。
単精度は 32 ビットを使用し、倍精度は 64 ビット、つまりビット数の 2 倍を使用する浮動小数点数を表すために使用されるビット数を参照しているだけだと思います。
「ダブル」という用語は正確ではありませんが、十分に近いものです。
64 ビット浮動小数点数は、32 ビット浮動小数点数で小数部に使用される 23 ビットの代わりに、小数部に 52 ビットを使用します。実際には「2 倍」ではありませんが、合計ビット数の 2 倍を使用します。
この質問に対する答えは非常に興味深いものです。ぜひ読んでみてください。