Forum: Mikrocontroller und Digitale Elektronik Shift >> 3 = Devision durch was?


von FrageMan (Gast)


Lesenswert?

Hallo,

eine Frage..

wenn ich ein 'unsigned int' nach rechts 3 mal shifte (>> 3), durch 
wieviel teile ich den Wert dann?

Danke!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Durch 2^3, also 8.

von aha (Gast)


Lesenswert?

> ... durch wieviel teile ich den Wert dann?

Ein verirrter PC Programmierer ? Der Aufbau der binaeren Zahlen ist 
absolut essentiell. Quasi die 0. Lektion

von Klaus (Gast)


Lesenswert?

ist schon Ok durch 8

0b0011 0000   Dez =  48    / 2    ;Schiebung nach rechts
0b0001 1000   Dez =  24    / 2    ;Schiebung nach rechts
0b0000 1100   Dez =  12    / 2    ;Schiebung nach rechts
--------------------------------------------------------

0b0000 0110   Dez =   6

48/8 = 6 wzbw (q.e.d.)

Klaus

von Peter (Gast)


Lesenswert?

geht übrigens auch mit negativen zahlen. das tolle dabei ist: sie 
bleiben negativ. jedenfalls bei den meisten compilern. leider ist's nach 
C-standard undefiniert. :-(

von Bensch (Gast)


Lesenswert?

> Ein verirrter PC Programmierer ? Der Aufbau der binaeren Zahlen ist
absolut essentiell. Quasi die 0. Lektion

ja ja.....

Es gibt 10 Arten von Menschen, die einen können binär rechnen, die 
anderen nicht........

(Wer's nicht versteht, besser dieses Forum in Zukunft meiden!)

von AVRaider (Gast)


Lesenswert?

Ein Problem ist nur das Nachkommastellen ignoriert werden, also einfach 
abgeschnitten werden.
Wenn du es genau haben willst musst du dies berücksichtigen.

Gruß

von Klaus (Gast)


Lesenswert?

> Wenn du es genau haben willst musst du dies berücksichtigen.

yes

(zugefügt)... durch geeignete Skalierung!

Klaus

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.