Ich habe eine Binärdatei, die mehrere komplexe Zahlen des Typs complex64
enthält? (d. h. vier Bytes vom Typ float für den reellen Teil und weitere vier Bytes für den imaginären Teil). Die Real- und Imaginärteile werden gemultiplext, so dass der Realteil zuerst gespeichert wird und dann der Imaginärteil folgt.Wie lese ich eine Binärdatei vom Typ complex64 Werte in Python
1
A
Antwort
1
Ich war in der Lage, den Fehler zu reproduzieren, indem Sie ein Array von complex64
von [0, 2+j, -3.14-7.99j]
erstellen, speichern Sie es in eine Datei und lesen Sie es als integrierte Python complex
Art.
Das Problem ist, dass der eingebaute complex
Typ die Größe einer C double
hat, die, abhängig von Ihrer Plateform, von 32-Bit (256 Bits auf meinem Gerät) abweichen kann.
Sie müssen verwenden, um Ihre Datei korrekt zu lesen, d. H. Sicherstellen, dass die komplexen Zahlen als zwei 32-Bit Gleitkommazahlen gelesen werden.
Verwandte Themen
- 1. Wie lese ich eine Binärdatei in C#?
- 2. Wie lese ich eine Binärdatei mit dem Unicode-Dateinamen C++?
- 3. Wie lese ich eine Binärdatei über HTTP im Knoten?
- 4. C# - Wie lese und schreibe ich eine Binärdatei?
- 5. VB - Wie lese und schreibe ich eine Binärdatei?
- 6. Wie lese ich eine Bilddatei mit Python?
- 7. Lese Binärdatei gepuffert (mit suchen)
- 8. Wie lese ich Werte in eine Struktur mit Zeigern?
- 9. Python wie in eine Binärdatei schreiben?
- 10. Wie öffne und lese ich eine Binärdatei in C++ mit einer bestimmten Bin-Datei?
- 11. Wie lese/schreibe ich std :: string Werte von/in Binärdateien
- 12. Wie lese ich den Inhalt einer Binärdatei in eine Zeichenfolge in Clojure?
- 13. Wie suchen und an eine Binärdatei in Python anhängen?
- 14. Wie lese ich eine große Textdatei in Python?
- 15. Wie finde ich Mime-Typ in Python
- 16. Lese Binärdatei ohne Dateiformat zu wissen
- 17. Wie deklariere ich eine Variable vom Enum-Typ in Kotlin?
- 18. Python: Int in eine Binärdatei schreiben
- 19. Zugriff auf Werte vom pfadabhängigen Typ mixin
- 20. Lese Komma getrennt String-Werte als Wörterbuch Elemente in Python
- 21. Wie lese ich XML in eine DataTable?
- 22. Wie lese ich app.config Werte und Eigenschaften in Wix setzen
- 23. LINQ2SQL: Wie deklariere ich eine Elementvariable vom Typ Var?
- 24. Lese YAML in Python
- 25. Wie konvertiere ich vom Typ zum generischen?
- 26. Wie lese ich komplette Daten vom Gerät mit Netty?
- 27. Lese Werte von Json
- 28. Wie greife ich auf eine Eigenschaft vom Typ BOOL zu?
- 29. SQL Server: Suche Werte vom Typ "varchar" mit Parametern vom Typ "Datum"
- 30. Wie erzwinge eine H2OFrame-Spalte vom Typ Integer in scala?
Können Sie ein Beispiel von dem zeigen, was Sie haben? –
complex64 ist eine komplexe Zahl, die durch zwei 32-Bit-Floats (reale und imaginäre Komponenten) dargestellt wird. Ist es das, was Sie in Ihrer Datei haben? –
@Moses, ich weiß nicht, ob es eine Möglichkeit gibt, hier hochzuladen, aber die komplexen Werte in der Datei wurden aus einem Programm namens GNURadio geschrieben, und die Dokumentation sagt, dass eine Binärdatei komplexer Zahlen das reelle und imag speichert Teile als 32-Bit floats (erstes Element ist das Reale und das zweite ist das imag) Ich habe versucht, die Datei mit dem folgenden Befehl zu lesen, aber ich konnte nicht die Zahlen, die ich erwartet hatte: 'numpy.fromfile ('file_name', dtype = komplex) ' @Jacques, ja das ist was ich habe. Ich erwartete '[0, 2 + j, -3.14-7.99j]' aber ich bekomme etwas wie: '[0 + 7.81e-3j, -1.29e + 5 + 0j, 7.8e-3 -1.29e + 5j ] ' – Doe