Verständnisfrage Long <-> Byte

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Antworten
Benutzeravatar
digger
Administrator
Beiträge: 691
Registriert: Sa 23. Mai 2009, 22:44
Wohnort: Schorfheide
Kontaktdaten:

Verständnisfrage Long <-> Byte

Beitrag von digger »

Ich hab einige komische Effekte bei meinen Spin Versuchen, die ich mir nur wie folgt erklären kann.
Kann es sein, dass wenn ich ein Long habe welches ich byteweise lesen will, dass dann dass Byte mit dem Index[0] ganz rechts liegt und das byte mit dem Index[3] ganz links? Läuft der Index also wie in binärer Leseweise von links nach rechts?

Ich hätte es irgendwie in der Art der String-indizierung erwartet wo beim String "abcde" das byte[0] = "a" und byte[4] = "e" ist.
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Verständnisfrage Long <-> Byte

Beitrag von Rainer »

digger hat geschrieben:Ich hab einige komische Effekte bei meinen Spin Versuchen, die ich mir nur wie folgt erklären kann.
Kann es sein, dass wenn ich ein Long habe welches ich byteweise lesen will, dass dann dass Byte mit dem Index[0] ganz rechts liegt und das byte mit dem Index[3] ganz links? Läuft der Index also wie in binärer Leseweise von links nach rechts?

Ich hätte es irgendwie in der Art der String-indizierung erwartet wo beim String "abcde" das byte[0] = "a" und byte[4] = "e" ist.

Code: Alles auswählen

|--MSB---| |--LSB--|
%0001 0110 1111 1111
Das Beispiel ist nur ein "word" .. gilt aber auch für "longs" natürlich

Die "most significant bits" stehen links, die "least significant bits" rechts ... sozusagen.

Du musst die MSB also entweder durch shiften rausschieben oder halt von rechts nach links lesen

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Verständnisfrage Long <-> Byte

Beitrag von drohne235 »

Du hast doch das gedruckte Propellerhandbuch digger. Schau mal auf Seite 208/209 dort ist es ziemlich gut in der Referenz zu "DAT" versteckt.

Edit: Oder Seite 100 im PDF Propeller Manuel welches über das Propeller Tool (Hilfe Menü) aufrufbar ist.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
digger
Administrator
Beiträge: 691
Registriert: Sa 23. Mai 2009, 22:44
Wohnort: Schorfheide
Kontaktdaten:

Re: Verständnisfrage Long <-> Byte

Beitrag von digger »

Code: Alles auswählen

out := Long[11111111 11110000 00001111 00000000]

repeat i from 0 to 3
      BYTE[output][i] := BYTE[@out][i]
Dabei erhalte ich immer folgendes:

i=0 --> Byte 00000000
i=1 --> Byte 00001111
i=2 --> Byte 11110000
i=3 --> Byte 11111111

Hat mich nur etwas irritiert.

@drohne

nach Seite 209 wäre Index[0] ja doch links ... jetzt muss ich nochmal von vorne anfangen, sonst wird das nix.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Verständnisfrage Long <-> Byte

Beitrag von drohne235 »

Wieso rechts, das niederwertige Byte ist doch links.

Code: Alles auswählen

long $44332211

ergibt

[byte 0][byte 1][byte 2][byte 3]
[     11][      22][     33][      44]

"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
digger
Administrator
Beiträge: 691
Registriert: Sa 23. Mai 2009, 22:44
Wohnort: Schorfheide
Kontaktdaten:

Re: Verständnisfrage Long <-> Byte

Beitrag von digger »

@drohne .. hab Nachsicht mit mir, langsam wacht meine eingerostete Rübe ja auf! ;)
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Verständnisfrage Long <-> Byte

Beitrag von Rainer »

Im Propeller-Manual auf Seite 161 (PDF-Manual) unter "Bitwise shift left" wird's ganz gut erklärt, finde ich.

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
Benutzeravatar
digger
Administrator
Beiträge: 691
Registriert: Sa 23. Mai 2009, 22:44
Wohnort: Schorfheide
Kontaktdaten:

Re: Verständnisfrage Long <-> Byte

Beitrag von digger »

Danke Rainer .. ich sehe jetzt klarer, ich hoffe in den nächsten Tagen auch ein/zwei Tools beisteuern zu können. Auf jeden Fall weiss ich jetzt dass ich noch meilenweit entfernt von der Fähigkeit zur Integration des TCP/IP Stacks auf Administra bin. :oops:
Antworten