a>>=1;
-
Hallo
Binärstellen werden beim Abschneiden nicht gemerkt, die Lücke wird immer mit 0 aufgefüllt.
bis bald
akari
-
Schade, dachte ich mir, danke
Mfg Ominion
-
akari schrieb:
die Lücke wird immer mit 0 aufgefüllt.
nicht immer

-
geht es vllt. noch genauer? oder soll das soviel heißen, dass immer 0 oder 1 zufällig eingefügt wird?
Mfg Ominion
-
Ominion schrieb:
oder soll das soviel heißen, dass immer 0 oder 1 zufällig eingefügt wird?
nö, zufällig ist es nicht.
-
vielleicht möchte er uns damit sagen dass die vorzeichenbits nicht mitgeshiftet werden oder ähnliches..
oder er will einfach nur mal wieder rumtrollen..
-
edit: undefiniert
-
Beim linksschieben wird _immer_ mit 0 aufgefüllt. Ausser man schiebt um gleich viel oder mehr Bits als der Datentyp hat.
Beim rechtsschieben von positiven Integern gilt dasselbe.
Beim rechtsschieben von negativen Integern (2er-Komplement) ist nicht vorgeschrieben wie geschoben wird, entweder
a) logisch, oder
b) arithmetischBei a) wird mit Nullen aufgefüllt, bei b) mit Einsen. Das unterscheidet sich von Plattform zu Plattform.
-
obertroll 'ten' möchte euch z.b. mitteilen, dass bei 'right shifts' nach iso/iec specification nicht definiert ist, was links rein kommt...

-
Mir ist auch aufgefallen, dass bei Right-Shift mit negativen Zahlen gcc, zum Beispiel, mit Einsern auffüllt.
Kann es sein, dass diese Funktion die binär-Schreibweise eines ints rückwärts wiedergibt?
-
mich hatte das nur interessiert, weil ich gerade dabei bin, einen verschlüsselungs-algorithmus zu entwickeln...
Mfg Ominion
-
ne0r schrieb:
Kann es sein, dass diese Funktion die binär-Schreibweise eines ints rückwärts wiedergibt?
nee, es soll einfach nur das vorzeichen erhalten bleiben und sich trotzdem rechnerisch wie 'ne division durch eine zweierpotenz verhalten. klappt natürlich nicht ganz, denn wenn man lange genug shiftet landet man bei -1 und nicht bei 0
