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格式轉換回十進制字符串形式?
是否有一些算法和此轉換?順便說一句,這是硬件還是軟件呢?
謝謝! :-)
它是用軟件完成的。浮點數有更多的複雜性和邊緣情況,但它基本上與整數的decimal-> binary和binary-> decimal轉換相同。 –