管道如何影響數字的精度?

管道如何影響數字的精度?

當對具有多個數字的大數字的相同輸入使用多個管道命令時,這如何影響數字的精確度。它們會被截斷嗎?請注意,我說過多次,因為輸入被使用,然後被重新使用。假設用於輸入的函數不會影響數字的精度,「管道 |」會影響數字的精度嗎?影響嗎?

另外,我對函數對大量數字的輸入執行操作的假設是不正確的。如果函數包含 awk 那麼我的假設是不正確的,那麼「sed」呢?

答案1

這裡我們有五個管道,正如您所看到的,輸出的字元與中的字元完全相同:

$ echo '1.23456789012345678901234567890' | cat | cat | cat | cat | cat
1.23456789012345678901234567890

管道傳輸字符不變。管道中的任何內容都不關心一系列字元是否代表數字。對於管道來說,一切都只是一系列字元。

答案2

管道

cmd1 | cmd2

取得命令 cmd1 的標準輸出,並將其原樣提供給命令 cmd2 的標準輸入。雖然它應用了緩衝(因此,如果您正在處理大型 I/O 並需要即時結果,請記住這一點),但它不會對其進行任何數學運算,並且不會以任何方式影響數字精度。

相關內容