Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Negative Binärzahlen

Da die Addition leicht zu bewerkstelligen ist, können wir die Subtraktionsoperation mit derselben Technik ausführen, indem wir einfach eine der Zahlen negativ machen. Zum Beispiel ist das Subtraktionsproblem von 7 – 5 im Wesentlichen dasselbe wie das Additionsproblem 7 + (–5).

Da wir bereits wissen, wie man positive Zahlen binär darstellt, müssen wir jetzt nur noch wissen, wie man ihre negativen Gegenstücke darstellt, und wir können subtrahieren.

Normalerweise stellen wir eine negative Dezimalzahl dar, indem wir ein Minuszeichen direkt links von der höchstwertigen Ziffer platzieren, genau wie im obigen Beispiel mit -5. Der ganze Zweck der Verwendung der binären Notation besteht jedoch darin, Ein-/Ausschaltkreise zu konstruieren, die Bitwerte in Bezug auf die Spannung darstellen können (2 alternative Werte:entweder „hoch“ oder „niedrig“).

In diesem Zusammenhang können wir uns nicht den Luxus eines dritten Symbols wie einem „Minus“-Zeichen leisten, da diese Schaltkreise nur ein- oder ausgeschaltet sein können (zwei mögliche Zustände). Eine Lösung besteht darin, ein Bit (eine Schaltung) zu reservieren, das nichts anderes tut, als das Vorzeichen darstellt:


Wie Sie sehen, müssen wir vorsichtig sein, wenn wir Bits für andere Zwecke als die standardmäßigen ortsgewichteten Werte verwenden. Andernfalls 11012 könnte als Zahl dreizehn fehlinterpretiert werden, obwohl wir tatsächlich minus fünf darstellen wollen.

Um die Dinge hier klar zu halten, müssen wir zuerst entscheiden, wie viele Bits benötigt werden, um die größten Zahlen darzustellen, mit denen wir es zu tun haben, und dann sicherstellen, dass diese Bitfeldlänge in unseren arithmetischen Operationen nicht überschritten wird.

Für das obige Beispiel habe ich mich auf die Darstellung von Zahlen von minus sieben (11112 .) beschränkt ) auf positive sieben (01112 .) ) und nicht mehr, indem Sie das vierte Bit zum „Vorzeichen“-Bit machen. Nur wenn ich zuerst diese Grenzen festlege, kann ich eine Verwechslung einer negativen Zahl mit einer größeren, positiven Zahl vermeiden.

Negative Fünf als 11012 . darstellen ist ein Beispiel für das Vorzeichen-Größen-System der negativen Binärzahl. Indem ich das Bit ganz links als Vorzeichen und nicht als ortsgewichteten Wert verwende, opfere ich die „reine“ Form der binären Notation für etwas, das mir einen praktischen Vorteil verschafft:die Darstellung negativer Zahlen.

Das Bit ganz links wird als positives oder negatives Vorzeichen gelesen, und die restlichen Bits werden gemäß der binären Standardnotation interpretiert:von links nach rechts, Gewichtungen in Vielfachen von zwei.

Ergänzung

So einfach der Vorzeichen-Größen-Ansatz auch ist, ist er für arithmetische Zwecke nicht sehr praktisch. Wie füge ich beispielsweise eine negative Fünf hinzu (11012 .) ) zu einer anderen Zahl, unter Verwendung der Standardtechnik für binäre Addition?

Ich müsste eine neue Art der Addition erfinden, damit sie funktioniert, und wenn ich das tue, könnte ich die Arbeit genauso gut mit der Handsubtraktion erledigen; Es gibt keinen arithmetischen Vorteil, negative Zahlen zu verwenden, um eine Subtraktion durch Addition durchzuführen, wenn wir dies mit Vorzeichen-Größen-Zahlen tun müssen, und das war unser Ziel!

Es gibt eine andere Methode zur Darstellung negativer Zahlen, die mit unserem funktioniert bekannte Technik der Langschriftaddition und ist auch aus der Sicht der ortsgewichteten Nummerierung sinnvoller, die als Komplementation bezeichnet wird.

Bei dieser Strategie weisen wir das am weitesten links stehende Bit einem speziellen Zweck zu, genau wie wir es beim Vorzeichen-Größen-Ansatz getan haben, und definieren unsere Zahlengrenzen wie zuvor. Diesmal ist das Bit ganz links jedoch mehr als nur ein Vorzeichenbit; es besitzt vielmehr einen negativen Stellenwert. Ein Wert von minus fünf würde beispielsweise so dargestellt:

Da die rechten drei Bits eine Größe von null bis sieben darstellen können und das ganz linke Bit entweder null oder minus acht repräsentiert, können wir jede ganze Zahl von minus sieben (10012 .) erfolgreich darstellen =-810 + 12 =-710 ) auf positive sieben (01112 .) =010 + 710 =710 ).

Die Darstellung positiver Zahlen in diesem Schema (wobei das vierte Bit als negatives Gewicht bezeichnet wird) unterscheidet sich nicht von der gewöhnlichen binären Notation. Negative Zahlen darzustellen ist jedoch nicht ganz so einfach:

Beachten Sie, dass die negativen Binärzahlen in der rechten Spalte, die die Summe der rechten drei Bits plus der negativen Acht des ganz linken Bits sind, nicht in der gleichen Reihenfolge „zählen“ wie die positiven Binärzahlen in der linken Spalte.

Stattdessen müssen die rechten drei Bits auf den richtigen Wert gesetzt werden, um der gewünschten (negativen) Summe zu entsprechen, wenn sie mit dem negativen achtstelligen Wert des ganz linken Bits summiert werden.

Zweierkomplement

Diese rechten drei Bits werden als Zweierkomplement der entsprechenden positiven Zahl bezeichnet. Betrachten Sie den folgenden Vergleich:

In diesem Fall, wobei das negative Gewichtungsbit das vierte Bit ist (Stellenwert von minus acht), ist das Zweierkomplement für jede positive Zahl der Wert, der zu minus acht addiert werden muss, um das negative Äquivalent dieses positiven Wertes zu bilden.

Zum Glück gibt es eine einfache Möglichkeit, das Zweierkomplement für jede Binärzahl herauszufinden:Invertieren Sie einfach alle Bits dieser Zahl, ändern Sie alle Einsen in Nullen und umgekehrt (um das sogenannte Einerkomplement zu erhalten) und fügen Sie dann eins hinzu! Um beispielsweise das Zweierkomplement von fünf zu erhalten (1012 ), würden wir zuerst alle Bits invertieren, um 0102 . zu erhalten (das „Einser-Komplement“), dann addiere eins, um 0112 . zu erhalten , oder -510 in Drei-Bit-Zweierkomplement-Form

Interessanterweise funktioniert das Generieren des Zweierkomplements einer Binärzahl genauso, wenn Sie alle Bits manipulieren, einschließlich des ganz linken (Vorzeichen-)Bits gleichzeitig mit den Betragsbits. Versuchen wir dies mit dem vorherigen Beispiel, indem wir eine positive Fünf in eine negative Fünf umwandeln, aber den Komplementationsprozess an allen vier Bits durchführen.

Wir müssen darauf achten, das 0-Bit (positives Vorzeichen) in die ursprüngliche Zahl aufzunehmen, fünf (01012 ). Zuerst alle Bits invertieren, um das Einerkomplement zu erhalten:10102 . Dann addieren wir eins und erhalten die endgültige Antwort:10112 , oder -510 ausgedrückt in Vier-Bit-Zweier-Komplement-Form.

Es ist von entscheidender Bedeutung, sich daran zu erinnern, dass die Stelle des negativ gewichteten Bits bereits bestimmt sein muss, bevor irgendwelche Zweier-Komplement-Konvertierungen durchgeführt werden können. Wenn unser binäres Nummerierungsfeld so wäre, dass das achte Bit als negativ gewichtetes Bit bezeichnet wurde (100000002 ), müssten wir das Zweierkomplement basierend auf allen sieben anderen Bits bestimmen.

Hier das Zweierkomplement von fünf (00001012 ) wäre 11110112 . Eine positive Fünf in diesem System würde als 000001012 dargestellt , und eine negative Fünf als 111110112 .

VERWANDTE ARBEITSBLÄTTER:

  • Arbeitsblatt für binäre Mathematik

Industrietechnik

  1. 3-Bit-Binärzähler
  2. Oktale und hexadezimale Numerierung
  3. Zahlen versus Zahlen
  4. Binäre Subtraktion
  5. Negatives Feedback
  6. Java-Algorithmen
  7. Zahlen in C++
  8. MATLAB - Zahlen
  9. Python - Zahlen
  10. Erste Schritte mit Go auf PLCnext