2017-04-17 127 views
1

說我目前是否可以打印一個雙精度浮點數

awk '{printf "%4.3f \n", $1}' 

打印列作爲浮點是否有可能代替%4.3(some letter/s),使之成爲雙浮動?

+1

沒有「雙重浮動」。雙不是浮動。此外,你究竟是什麼意思「使它成爲雙重浮動」?你應該提供一個例子。 – user31264

+0

這實際上非常有幫助,因爲我的教授被告知要這樣做,但一直沒能弄清楚它的含義。我必須要求她爲我澄清。謝謝 – ripchint

回答

2

我懷疑她的意思是https://en.wikipedia.org/wiki/Double-precision_floating-point_format。雙精度是現代(POSIX等)awks默認用來表示浮點數的。當一個現代awk打印一個浮點數時,它使用的是雙精度C數據類型「double」的等價物,而一個古老的awk將使用單精度C數據類型「float」的等價物。所以我想你的問題的答案是「否」,你可以添加到printf規範來改變已經是「雙浮點」的默認值。有關更多信息,請參見https://www.gnu.org/software/gawk/manual/gawk.html#Arbitrary-Precision-Arithmetic

如果這不是你的問題所在,那麼編輯它來澄清並提供簡明的,可測試的樣本輸入和預期輸出。

+0

好的,只要確定,無論是使用32位(浮點)還是64位(雙浮點),這都是計算機或正在運行的程序的內部過程。因此,如果我的程序使用雙浮點數,它會繼續使用它,除非由於某種原因,我要進入並告訴程序使用float而不是? – ripchint

+0

不完全。如果程序使用雙浮動,那就是** IT **,故事結束。 –

相關問題