Thread ~- anstatt --
(10 answers)
Opened by leo11 at 2009-11-30 16:30
hmm ich frage mich wieso sich hier in letzter Zeit so viele 1x1 Fragen der Informatik türmen.
Computer-Pisa? ;-) Die Antworten von Murphy und Matthias sind korrekt, man kanns etwas "pädagogischer" erklären... Kurzfassung: Um negative Zahlen darstellen zu können gibts Signed Integers, wo das höherwertigste Bit praktisch ein Negativflag ist und die restlichen Bits (fast) den invertierten Betrag wiedergeben. Nun hätte man auf diese Weise aber streng genommen zwo Nullen, also +0 und -0, die -0 spart man sich. Denn bei einem Nibble (= 4 Bits) hätte man sonst: Na dann lieber 1 dazu dann steht Code: (dl
)
1 S U Deswegen kann ich mit 4 Bits Zahlen von -8 bis +7 darstellen und generell "fehlt" immer eine positive Zahl wg der Null. Interpretiert man die letzte Tabelle nun Vorzeichenlos, fällt auf das hier auch immer 1 abgezogen wird, die Abstände sind identisch. (Nachtrag: Tatsächlich habe ich die obere Hälfte der Bitdarstellung für 8u - 15u oben "abgeschnitten" und unten für -1s - -8s "angeklebt" (Zeilen 7-11 !!!) Sprich ich kann die Darstellung negativen Zahlen auch durch eine vorzeichenlose Subtraktion von 16= 2^4 herleiten: Diese Konformität der Darstellung hat dadurch den großen Vorteil dass ich die gleichen Rechenwerke wie für unsigned Integers weiterverwenden kann z.B. rechnet sich -3 +2= -1 genauso wie 13 +2 = 15, es kommt nur auf die Interpretation an: Analog zu den anderen Grundrechenarten( siehe WP-Artikel) Also war das 2er-Komplement nicht nur mathematischen Vorteilhaft sondern dadurch auch schaltungstechnisch ökonomisch. Und Schaltungen zu sparen war noch lange nach Zuse und Turing ein Topkriterium... Verständlich? EDIT: Vorzeichenfehler UPDATE: Zahlenstrahl erweitert. NACHTRAG: Letztendlich ist für Logik und Verständnis viel wichtiger das -x als 2^n-x dargestellt wird und weniger die "verschobene" (inkrementierte) Komplementbildung der restlichen Bits. Das hat historische Gründe, für einen Elektroniker ist es viel einfacher einzelne Bits zu invertieren (simples XOR) als ganze Bitgruppen zu subtrahieren (Subtraktionsschaltung, Carrybits, usw). Sprich die praktische elementare Umsetzung bestimmt die sprachliche Darstellung und "Denke" als 2er-Komplement. Last edited: 2009-11-30 20:37:53 +0100 (CET) me and my writeups
|