1

最近、IEEE 754-1985 標準について調べました。Web でいくつかの資料を読んだ後、浮動小数点数の根底にある基本的な考え方を把握したと思います。そんな中、ネットで調べても解決しない疑問があります。つまり、コンピュータ システムがどのようにして浮動小数点数 (2 進数形式) を同等の 10 進数に変換し、それを文字列として画面に表示するのでしょうか?

明確にするために、たとえば、C/C++ 言語では、次のように記述します。

...
float x,y,z;
x=3.14;
y=2.71;
z=x+y;
printf("%f",z);

結果として画面に 5.85 が表示されます。しかし、コンピューター (または単に C 言語とそのコンパイラー) が x,y を IEEE 2 進浮動小数点形式に変換し、CPU による計算の後、IEEE 形式を 10 進文字列形式に戻す方法は?

この変換にはいくつかのアルゴリズムがありますか? ところで、このトリックを行うのはハードウェアですか、それともソフトウェアですか?

ありがとうございました!:-)

4

1 に答える 1

0

glibc、特にprintf関数を確認する必要があります。これは、少なくとも 1 つの一般的な実装に対する信頼できる答えが存在する場所です。しかし、それがあまりにも読みやすいとは思えません。

それは間違いなくソフトウェアで行われます。

http://www.gnu.org/software/libc/download.html

于 2013-07-11T08:09:48.007 に答える