
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, in der Datenverarbeitung nutz man das sog. Zweierkomplement einer Zahl um eine positive Zahl negativ darzustellen. Das Zweierkomplement setzt sich aus dem Einerkomplement addiert mit 1 zusammen: Zahl (dez = 5): +5 00000101 b 1. Kompl. 11111010 b + 1 00000001 b ---------------------------------- 11111011b Beim Zweierkomplement werden also alle Bits invertiert und dann die Zahl anschließend inkrementiert: z = (NOT a) + 1 Um den Betrag einer negativen Zahl zu erhalten bildet man wieder aus der negativen Zahl das Zweierkomplement. Man kann die Funktion also immer nutzen. Eine negative Zahl erkennt man daran, dass das erste Bit 1 ist. Warum das ganze? Nun man kann auch negative Zahlen ohne das Zweierkomplement darstellen, allerdings führt dies zu einer Doppelbelegung der 0 (+0 und -0). Mit dem Zweierkomplement gewinnt man übrigens noch eine Zahl mehr im negativen Bereich. Man kann durch eine sehr aufwendige und Speicherfressende Funktion mit der C-Control Zahlen von 0 bis 65535 (ja positiv) ausgeben. Gleiches sollte dann auch für das negative (dann aber von 0 bis -65535) gelten. Gruß, Stefan Meine Homepage: http://www.fdos.de/ccbpp |
| Antwort schreiben |