Bitweises verschieben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Jess240890
User
Beiträge: 6
Registriert: Freitag 26. November 2010, 20:00

hallo,

ich versteh die verschiebung net, hoffe ihr könnt mir behilflich sein.
a=1; b=2;

>>> a>>b
0
>>> a<<b
4
>>> b>>a
1
>>> b<<a
4

für was braucht man die verschiebung und wie funktioniert das?
lunar

Diese Frage kannst Du Dir selbst beantworten, indem Du Dir Stift und Papier nimmst, die Zahlen im binären System aufschreibst, und anschließend die Funktionsweise der Operatoren an diesen Zahlen ausprobierst. Falls Du nicht weißt, was die Operatoren wirklich tun, so hilft ein Blick in die Dokumentation von Python.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Jess240890
User
Beiträge: 6
Registriert: Freitag 26. November 2010, 20:00

wikipedia hilft da nur teilweise.

die verschiebung nach links klappt super. bsp.
a=2; b=4
b<<a = 4*2^2 = 16

a<<b = 2*4^2 = 32

bis hier hin alles klar

bei der verschiebung nach rechts sieht es anders aus:

a>>b = 0
b>>a = 1

wiesoo, anfangs dachte ich b<<a==a>>b und b>>a == a<<b, scheint aber net so zu sein??
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Nochmal der Hinweis: Lies den Wikipedia-Artikel, nimm dir ein Zettel und zeichne es auf. Dann solltest du recht schnell merken, was dein Fehler ist.
Das Leben ist wie ein Tennisball.
Antworten