konvertieren von double zu float in Python
In ein Python-Programm, habe ich diese zwei Werte:
v1 = 0.00582811585976
v2 = 0.00582811608911
Meine Hypothese ist, die v1 ist eine 64-bit floating-point-Wert, und v2 ist v1 konvertiert eine 32-bit-floating-point-Wert. Wie kann ich überprüfen?
Details:
Der erste Wert stammt aus einem hardware-board, berechnet mit 64-bit-Präzision. Der Vorstand sendet den Wert an einen PC, aber es sollte auch konvertieren Sie den Wert in 32-bit Genauigkeit und senden, die zu einem anderen board, welches wiederum sendet es an einen PC. Ich will einfach nur, um zu überprüfen, dass dies wirklich geschieht und alles, was ich habe sind zwei große arrays von zahlen.
Wo kommen diese Werte her?! Ein wenig Kontext zu helfen.
InformationsquelleAutor compie | 2012-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die struct-Modul spielen mit numerischen Darstellungen:
InformationsquelleAutor K. Brafford
Es sieht plausibel:
np.float32(v2) oder
struct.pack("f", v1) == struct.pack("f", v2) == b'\xc8\xf9\xbe\x3b'
Ich würde erwarten, dass die zwei 32-bit floats, waren genau das (binäre) gleich ... aber anscheinend sind Sie nicht, so dass mehr geschehen ist, mit v1 als einfach nur ein cast zu float.
InformationsquelleAutor mgilson