integer in byte array

Persönliche Seite #800402
Lesenswert?

Und? Wo ist das Problem?

Alle Daten liegen in Form von Bytes im Speicher, und können als solche 
natürlich auch über 'ne serielle Schnittstelle übertragen werden.
Ratsam ist das nicht unbedingt, da unterschiedliche Systeme die Daten 
unterschiedlich interpretieren können; verschiedene Wortbreiten und 
unterschiedliche "endianness" können zu interessanten Effekten führen.

Portierbarer ist die Übertragung in einer Textrepräsentation.
Gast #800444
Lesenswert?

@ Christoph:
Das ist irgendwie sinnfrei, da haste genau das erwähnte Problem. Wenn er 
seinen Code nun woanders hin portiert, läuft er genau ins Messer.

Da macht man doch besser auf der einen Seite
1
int i;
2
printf("%i", i);

Und auf der Gegenstelle arbeitet man dann mit
1
scanf
#801271
Lesenswert?

Christof meinte mit 'ins Messer laufen' das leidige Problem
der Endianness.
Neue CPU, neuer Compiler  -> neues Glück.

Wenn schon, dann sollte man sich an einen Standard halten
und zb. Network Byte Order benutzen. Dafür gibt es auch Funktionen
die die Umsetzung erledigen.

http://de.wikipedia.org/wiki/Byte-Reihenfolge

Wenn es nicht auf das letzte bischen Speed ankommt, dann ist
man aber mit einer rein textuellen Übertragung, wie bereits
vorgeschlagen, meist besser beraten. Und sei es nur, weil
man dann zu Debug-Zwecken mit einem Terminal einfach mitlesen
kann bzw. eine Endstelle 'per Hand' simulieren kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren