Inhalt
Da das Binärzahlensystem nur zwei Symbole hat - 1 und 0 -, die negative Zahlen darstellen, ist dies nicht so einfach wie das Hinzufügen eines Minuszeichens. Es gibt jedoch einfache Möglichkeiten, eine negative Zahl im Binärformat darzustellen. Dieser Artikel bietet drei Lösungen für dieses Problem.
Verwenden Sie ein Vorzeichenbit
Wählen Sie die Anzahl der Bits aus, die Sie zur Darstellung Ihrer Binärzahlen verwenden möchten. Eine Acht-Bit-Zahl wurde lange Zeit als Standard verwendet. Es war die Originalgröße für eine Ganzzahl in der Computerprogrammierung. Natürlich gibt es auch lange ganze Zahlen (16 Bit). Hinweis: Wenn Sie eine Acht-Bit-Ganzzahl verwenden, werden nur sieben Bits verwendet, um Ihre tatsächliche Zahl darzustellen.
Wählen Sie das Bit ganz links aus, um als Vorzeichenbit zu dienen. Wenn das Bit 0 ist, ist die Zahl positiv. Wenn es 1 ist, ist die Zahl negativ.
Schreiben Sie Ihre negative Zahl mit allen acht Bits. Daher würde die Nummer -5 als 10000101 geschrieben werden.
1s-Kompliment verwenden
Schreiben Sie die Zahl als Binärzahl, als wäre sie positiv. Schreiben Sie erneut 5 als 00000101, vorausgesetzt, wir verwenden Acht-Bit-Ganzzahlen.
Invertieren Sie die Ziffern - d.h. 1s gehen zu 0s und 0s gehen zu 1s. Daher wird 5 zu 11111010.
Verwenden Sie das Bit ganz links als Vorzeichenbit. So wie bei der Verwendung eines Vorzeichenbits haben positive Zahlen alle ein 0-führendes Bit (wenn sie in einem 8-Bit-Format geschrieben sind), während alle negativen Zahlen eine führende 1 enthalten. Um die Zahl zu verwenden, verwenden Sie die Vorzeichenbit-Informationen und drehen Sie die Ziffern zurück für numerischen Wert.
2s-Kompliment verwenden
Schreiben Sie die Zahl so, als ob sie positiv wäre, und verwenden Sie dabei alle acht Bits. Also ist 5 00000101.
Invertieren Sie die Bits und vertauschen Sie die Einsen und Nullen wie mit dem Einsen-Kompliment. Also wird 5 wieder zu 11111010.
Addiere 1 zu deiner Zahl. So wird 5 zu 11111010 + 00000001 = 11111011.
Überprüfe deine Antwort. Die Zahl 11111011 würde zurück zur Basis 10 konvertiert werden: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.