Ich muss die genaue Länge einer zu druckenden Zeichenfolge von einem doppelten Wert angeben, aber ich möchte die Ausgabe nicht mehr als notwendig beschränken .C: Wie lange kann ein Doppel sein, wenn es durch printf gedruckt wird()
Welche maximale Länge hat ein 6-stelliges Präzisionsdoppel bei der Formatierung mit printf()?
Spezifisch, welchen Wert sollte ich X in printf("%X.6lg",doubleValue);
geben, um sicherzustellen, dass kein Wert abgeschnitten wird?
Der Grund, warum ich über die Länge spezifisch sein muss, ist, dass ich einen MPI-abgeleiteten Datentyp definiere, der aus vielen Stringdarstellungen von Doppelwerten besteht und deren genaue Länge kennen muss, um Bereiche der Datei zwischen MPI zu teilen Prozesse.
Ich hoffe, das ist klar. Vielen Dank im Voraus für die Antwort.
Ich bin mir nicht sicher, was Sie fragen - wollen Sie alle Ihre Werte 6 signifikante Ziffern lang, wie 0,123456, 1,23456, 12345,6, etc? Oder interessiert es Sie nur, dass der Bruchteil 6 signifikante Ziffern ist? Wie bei Bruchwerten weiß ich nicht, wie Sie eine Verkürzung vermeiden können, es sei denn, Ihre Werte sind "dyadisch" (d. H. Enden im Binärsystem) und sind kleiner oder gleich 63/64. –