|
Henning.B |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.02.2016, 14:26
Titel: int zu uint
|
 |
Hallo,
ich lese eine hex Datei ein die zum Großteil aus Integer besteht, nur leider nicht komplett. Gibt es eine Möglichkeit im Nachhinein die als int eingelesenen Daten in uint zu wandeln? Oder noch besser direkt einen Teil der Hex Datei als uint und den Rest als int einzulesen?
Momentan lese ich volgendermaßen ein:
Gruß
Henning
|
|
|
|
|
Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 18.02.2016, 14:30
Titel:
|
 |
Nachbearbeitung ist auf jeden Fall möglich. Bsp:
Alles auf einmal "richtig" einlesen. Schon, im Zweifel auch immer durch schreiben und einbinden eines C Codes. Gibt es denn eine klare Dokumentation / API?
Andreas
|
|
|
Henning.B |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.02.2016, 14:54
Titel:
|
 |
Danke für die schnelle Antwort,
deinen Vorschlag konnte ich so nicht umsetzen da ich die Werte ja im Programm schon als singel vorliegen habe. Konnte mir aber mit einer abfrage auf Negative Zahlen und der Addition von 65535 helfen.
Zu der Möglichkeit die Werte direkt einzulesen, ich habe keine klare Dokumentation könnte aber herausfinden welche werte als in und welche als uint gespeichert sind.
Gruß
Henning
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 18.02.2016, 19:51
Titel: Re: int zu uint
|
 |
Hallo Henning.B,
Eine "hex Datei" besteht nicht aus Integern, sondern aus CHARs, denn HEX bedeutet ja 0-9A-F. Deine Einlese-Funktion sieht danach aus, als sei es ein "Binär-File", das 16-Bit Integer enthält.
Möchtest Du die Daten wirklich als SINGLE einlesen? Wie wäre es, sie gleich als UINT16 zu importieren? Eine Umwandlung per 65536-Wert ist möglich, ich bevorzuge aber den direkten Weg:
Mit
typecast
werden die Bitmuster identisch übernommen und nur der Typ für die Darstellung geändert.
Gruß, Jan
|
|
|
Henning.B |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.02.2016, 13:03
Titel:
|
 |
Hallo Jan,
du hast natürlich recht es handelt sich um ein Binär-File. Mir wäre es auch am liebsten die Werte direkt im passenden Format einzulesen nur leider ist das Dateiformat nicht konsistent besteht also aus int16 und uint16.
Wenn ich deinen Vorschlag verwende stoße ich auf ein neues Problem Ich muss im Laufe des Programms einen int16 und einen uint16 kombinieren wenn ich den Datentyp mittels typecast auf single oder double verändere gehen mir Messdaten verloren. Wie kommt das?
Gruß
Henning B.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|