www.wikidata.de-de.nina.az
Das Einerkomplement auch b 1 Komplement 1 ist eine arithmetische Operation die meist im Dualsystem angewendet wird Dabei werden alle Ziffern bzw Bits einer Binarzahl Dualzahl invertiert das heisst Aus 0 wird 1 und umgekehrt Das hat zur Folge dass jede Ziffer der Binarzahl und ihre korrespondierende Ziffer des Einerkomplements sich zu 1 erganzen was der Operation ihren Namen gibt Ist also z displaystyle z eine n displaystyle n stellige Binarzahl dann ist ihr Einerkomplement 2 n 1 z displaystyle 2 n 1 z eine Subtraktion bei der keine Ubertrage vorkommen Die Operation wird auch als bitweise Negation bezeichnet und der Operator in verschiedenen Programmiersprachen als Tilde notiert Dabei wird die Zahl als Bitkette aufgefasst Eine Anwendung des Einerkomplements ist die gleichzeitige Manipulation einzelner Bits in einer Bitkette Will man zum Beispiel in der Bitkette Zahl alle Bits loschen die in der Bitkette Maske gesetzt sind so kann man Zahl mit dem Einerkomplement von Maske bitweise UND verknupfen in C Syntax Zahl amp Maske Eine andere Anwendung ist die Einerkomplementdarstellung ein Verfahren zur binaren Darstellung negativer Ganzzahlen Zwar lasst sie sich leicht beschreiben das Komplement der Darstellung einer negativen Zahl ist die normale Binardarstellung ihres Betrags aber die Implementation einer Recheneinheit fur so dargestellte Zahlen ist umstandlich Vorteile gegenuber der heute ublichen Zweierkomplement Darstellung hat sie nur bei der ohnehin meist langsamen Division bei der Multiplikation mit doppelt langem Ergebnis sowie bei der Bildung einfacher Prufsummen Inhaltsverzeichnis 1 Einerkomplementdarstellung 2 Rechenoperationen und Probleme 3 Verallgemeinerung auf b adische Systeme 4 Weblinks 5 EinzelnachweiseEinerkomplementdarstellung BearbeitenVergleich der Darstellung eines Nibbles 4 Bit als vorzeichenloser Wert 0 s als Betrag und Vorzeichen BuV im Einerkomplement 1 S und im Zweierkomplement 2 S Gespeicherter Wert Dezimale Interpretation 2 Bin Hex 0 s BuV 1 S 2 S0000 0 0 0 0 00001 1 1 1 1 10010 2 2 2 2 20011 3 3 3 3 30100 4 4 4 4 40101 5 5 5 5 50110 6 6 6 6 60111 7 7 7 7 71000 8 8 0 7 81001 9 9 1 6 71010 A 10 2 5 61011 B 11 3 4 51100 C 12 4 3 41101 D 13 5 2 31110 E 14 6 1 21111 F 15 7 0 1Binare Kodierungen vorzeichenbehafteter Ganzzahlen haben meist folgende Eigenschaften verwendet wird eine konstante Anzahl n von Stellen das hochstwertige Bit most significant bit zeigt das Vorzeichen an 0 fur Plus 1 fur Minus sie stimmen fur positive Zahlen uberein mit der vorzeichenlosen Darstellung in der kleine Zahlen vorne mit Nullen erganzt werden Unterschiede bestehen bei gesetztem hochstwertigen Bit In diesem Fall ergibt sich bei der Einerkomplementdarstellung der Betrag durch Komplementbildung Zum Beispiel erweist sich 1010 durch die fuhrende 1 als negativ und der Betrag ist 1010 also 0101 5 Durch diese Definition ergeben sich folgende weitere Eigenschaften der Einerkomplementdarstellung es existieren fur die Zahl 0 zwei Darstellungen 0 0000 und 0 1111 positive und negative Zahlen reichen symmetrisch bis zum gleichen Betrag hier 7 0111 Die Beispiele sind hier fur eine Wortbreite von n 4 bit angegeben Fur 8 und 16 bit ergeben sich die Maximalbetrage 127 bzw 32767 allgemein 2 n 1 1 displaystyle 2 n 1 1 nbsp Rechenoperationen und Probleme BearbeitenDie in Einerkomplementdarstellung einfachste Rechenoperation ist die arithmetische Negation unarer Operator Es ist lediglich das bitweise Komplement zu bilden Dadurch lasst sich die Subtraktion binarer Operator direkt auf die Addition zuruckfuhren 3 4 3 4 Fur die Durchfuhrung dieser Addition ergibt ein fur vorzeichenlose Zahlen konstruiertes Addierwerk das richtige Ergebnis 1011 4 0011 3 Ubertrage 0011 1110 1 Nachteil der Einerkomplementdarstellung ist die Behandlung des Falls wenn bei einer Operation die Null durchschritten wird Beispiel Beim Berechnen von 4 6 2 erscheint nach einer einfachen Binarzahl Addition der beiden Einerkomplementdarstellungen zunachst ein falsches Zwischenergebnis 4 6 2 fuhrt zu 1011 0110 Ubertrage 1110 0001 Zwischenergebnis Die 0001 stunde fur 1 nicht fur 2 Damit ein korrektes Ergebnis erscheint muss der am weitesten links stehende Ubertrag ausgewertet werden hier 1 und ggf das Ergebnis um 1 erhoht werden Mit anderen Worten muss der Ubertrag noch zum Zwischenergebnis hinzuaddiert werden 0001 Zwischenergebnis 1 Ubertrag der vorhergehenden Operation 0010 Beim ersten Beispiel oben ist der Ubertrag 0 daher entspricht das Zwischenergebnis dort schon dem Endergebnis Ein weiterer Nachteil ist das Entstehen einer Redundanz Es existieren fur die Null zwei Darstellungen 0000 0 und 1111 0 siehe vorzeichenbehaftete Null Zum einen wird bei einer begrenzten Anzahl von Bits nicht die maximale Ausdehnung des Betrags der darstellbaren Zahlen ausgenutzt Der darstellbare Zahlenraum verringert sich um 1 da die Null zweimal vorhanden ist fallt ein Datenwort fur den Zahlenraum weg Die Darstellung jeder anderen Zahl bleibt aber eindeutig Im Beispiel hier mit 4 Bits werden mit den 24 16 verschiedenen Bitkombinationen nur 15 verschiedene Zahlen von 7 bis 7 dargestellt Beide geschilderten Probleme werden bei der Kodierung von Zahlen in der Zweierkomplementdarstellung vermieden Das Hinzuaddieren des Ubertrags verbessert die Empfindlichkeit einer einfachen Prufsumme gegen mehrfache Bitfehler So wurde eine Prufsumme mit der Ubertrage ignorierenden Modulo Arithmetik mit einer Wahrscheinlichkeit von 50 keinen Ubertragungsfehler anzeigen wenn das hochstwertige Bit oft falsch ist z B konstant null Das TCP verwendet eine Prufsumme in Einerkomplement Arithmetik die diesen Mangel nicht aufweist und deren effiziente Berechnung auf Hardware ohne Einerkomplement Rechenwerk in RFC 1071 3 beschrieben ist Verallgemeinerung auf b adische Systeme BearbeitenIn einem b adischen System mit dem Standardziffernvorrat 0 1 b 1 displaystyle 0 1 ldots b 1 nbsp entspricht der binaren Invertierung pro Ziffer z displaystyle z nbsp die Rechenvorschrift z b 1 z displaystyle bar z b 1 z nbsp Im Dezimalsystem mit b 10 muss also jede Ziffer von 9 abgezogen werden Einige Autoren sprechen dann vom Neunerkomplement 4 und allgemein vom b 1 Komplement Beispielsweise ist das Neunerkomplement der dreistelligen Dezimalzahl 456 sub dez sub 456 d e z 9 4 9 5 9 6 d e z 543 d e z 999 d e z 456 d e z displaystyle begin aligned overline 456 mathrm dez amp 9 4 9 5 9 6 mathrm dez amp 543 mathrm dez amp 999 mathrm dez 456 mathrm dez end aligned nbsp Ist also x displaystyle x nbsp eine n displaystyle n nbsp stellige Dezimalzahl dann ist ihr Neunerkomplement 10 n 1 x displaystyle 10 n 1 x nbsp eine Subtraktion bei der Ubertrage nicht vorkommen Weblinks BearbeitenJohn Walker Minus Zero UNIVAC Memories Einerkomplement auf UNIVAC 1100 Computern fourmilab ch englisch Einzelnachweise Bearbeiten Helmut Herold Grundlagen der Informatik Pearson Studium Munchen 2007 ISBN 978 3 8273 7305 2 S 59 Herbert Schneider Obermann Basiswissen der Elektro Digital und Informationstechnik 1 Auflage Friedr Vieweg amp Sohn Verlag GWV Fachverlage Wiesbaden 2006 ISBN 3 528 03979 5 Tabelle 2 1 Negative Zahlen im Dualsystem in Abschnitt 2 1 5 Darstellung negativer Zahlen im Dualsystem RFC 1071 Computing the Internet Checksum englisch Neunerkomplement Rechnerlexikon de abgerufen am 6 April 2015 Abgerufen von https de wikipedia org w index php title Einerkomplement amp oldid 236008572