Forum: Mikrocontroller und Digitale Elektronik Bit schieben im Big Endian


von bw1faeh0 (Gast)


Lesenswert?

Hallo Leute!

Ich habe gerade mal wieder ein Problem mit der Bit-Order im Big 
Endian-System

Ich möchte Bits im Big-Endiansystem verschieben. In Richtung des LSB. 
Muss ich da links-shiften (<<) oder rechts-shiften (>>)?
Sprich: Liegt das LSB an der niederwertigen Adresse im Speicher oder an 
der höherwertigen?

0x00:0  LSB
0x00:1
0x00:2
0x00:3
0x00:4
0x00:5
0x00:6
0x00:7  MSB
0x01:0  LSB
0x01:1
0x01:2
0x01:3
0x01:4
0x01:5
0x01:6
0x01:7  MSB

Oder ist es so, dass ein Rechts-Shift immer zur niederwertigen Adresse 
und ein Links-Shift immer zur höherwertigen Adresse schiebt?

So ganz steige ich da noch nicht durch.

Grüße!

von Timmo H. (masterfx)


Lesenswert?

MSB nach LSB schieben wäre ein Rechtsshift

2^31 + 2^30 + 2^29 ...+ 2^1 + 2^0

Das höchstwertige Bit ist also an der kleinsten Addresse. Steht auch 
alles bei Wiki und wahrscheinlich auch hier in der Artikelsammlung

von Stefan E. (sternst)


Lesenswert?

Rechts-Shift geht immer in Richtung LSB, und Links-Shift immer in 
Richtung MSB. Um die Details kümmert sich dann der Compiler.

von bw1faeh0 (Gast)


Lesenswert?

Ok. Das beruhigt mich schon mal :)

Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.