welchen Einfluss hat die Verrohrung auf die Genauigkeit von Zahlen?

welchen Einfluss hat die Verrohrung auf die Genauigkeit von Zahlen?

Wenn mehrere Pipe-Befehle für dieselbe Eingabe großer Zahlen mit vielen Ziffern verwendet werden, welche Auswirkungen hat das auf die Genauigkeit der Zahlen? Werden sie abgeschnitten? Beachten Sie, dass ich mehrfach gesagt habe, da die Eingabe verwendet und dann wiederverwendet wird. Unter der Annahme, dass die für die Eingabe verwendeten Funktionen die Genauigkeit der Zahlen nicht beeinflussen, hat „Pipe |“ dann Auswirkungen darauf?

Außerdem ist meine Annahme, dass Funktionen Aktionen bei der Eingabe großer Zahlen mit vielen Ziffern ausführen, falsch. Wenn Funktionen awk enthalten, ist meine Annahme falsch. Was ist mit „sed“?

Antwort1

Hier haben wir fünf Pipes und wie Sie sehen können, sind die ausgehenden Zeichen genau dieselben wie die eingehenden Zeichen:

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

Pipes übertragen Zeichenunverändert. In der Pipe ist es egal, ob eine Zeichenfolge eine Zahl darstellt oder nicht. Für eine Pipe ist alles nur eine Zeichenfolge.

Antwort2

Ein Rohr

cmd1 | cmd2

ruft die Standardausgabe des Befehls cmd1 ab und gibt sie unverändert an die Standardeingabe des Befehls cmd2 weiter. Dabei wird zwar eine Pufferung angewendet (was man daher im Hinterkopf behalten sollte, wenn man mit großen E/A-Vorgängen arbeitet und Echtzeitergebnisse benötigt), es werden jedoch keine mathematischen Operationen ausgeführt und die Zahlengenauigkeit wird in keiner Weise beeinträchtigt.

verwandte Informationen