2013-07-11 25 views
0

最近,我研究了IEEE 754-1985标准。在阅读了网络上的一些资料之后,我想我已经掌握了浮点数的基本思想。虽然,我有一个无法通过搜索网络来解决的问题。也就是说,计算机系统如何将浮点数(二进制形式)转换为其十进制等值并将其作为字符串打印在屏幕上以供我们阅读?将浮点格式化为十进制数的算法

需要明确的是,例如,在C/C++语言,我们只是写:

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

我们将获得5.85在屏幕上的结果。但是,计算机(或只是C语言及其编译器)如何将x,y转换为IEEE二进制浮点格式并经CPU计算后,将IEEE格式转换回十进制字符串形式?

是否有一些算法和此转换?顺便说一句,这是硬件还是软件呢?

谢谢! :-)

+0

它是用软件完成的。浮点数有更多的复杂性和边缘情况,但它基本上与整数的decimal-> binary和binary-> decimal转换相同。 –

回答