Notation dll Deklaration

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Notation dll Deklaration

Beitrag von Kaeru Gaman »

helpy hat geschrieben:Weil beide Zahlen dem Wert -128 entsprechen
*handvordiestirnpatsch* argh.. na logo!
hätt ich auch selbst drauf kommen müssen.
danke, helpy!
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Notation dll Deklaration

Beitrag von DarkDragon »

Das ist auch der Grund warum zwischen arithmetischen und logischen shift- und rotationsoperationen unterschieden wird. Der Unterschied ist der, dass beim arithmetischen das Vorzeichen gleich bleibt:

Angenommen wir haben 8 bits = 1 Byte. Dort speichern wir -128 ab
1000 0000Bin
Schieben wir es um 1 nach rechts gibts beim ...
... arithmetischen 1100 0000Bin
... logischen 0100 0000Bin

Es wird also immer das Vorzeichen-Bit erweitert. Das muss auch beim konvertieren von 8bit Zahlen in andere Zahlen beachtet werden. Ich dachte das wäre erwähnenswert an dieser Stelle.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten