Dualsystem: Unterschied zwischen den Versionen

Aus Foxwiki
 
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Dualsystem''' - Kurzbeschreibung
'''Dualsystem''' - [[Zahlensystem]] zur Darstellung von [[Zahl]]en, die nur zwei verschiedene [[Ziffer]]n benutzt


== Beschreibung ==
== Beschreibung ==
{|class="wikitable float"
Das '''Dualsystem ''' ([[Latein|lat.]] ''dualis'' „zwei enthaltend“), auch '''Zweiersystem''' oder '''Binärsystem''' genannt, ist ein [[Zahlensystem]], das zur Darstellung von [[Zahl]]en nur zwei verschiedene [[Ziffer]]n benutzt
|colspan="2" style="text-align:center"|[[Dezimalzahl]]en<br /> 0 bis 15<br /> im Dualsystem
* Nach DIN 44300, Teil 2, ist „binär“ nicht gleichbedeutend mit „dual“. „Dual“ bezieht sich auf die Darstellung von Zahlen
|-
| '''Wertigkeit:''' || <div align="right">'''8 4 2 1'''</div>
|-
| Null: || <div align="right">0 0 0 0</div>
|-
| Eins: || <div align="right">0 0 0 1</div>
|-
| Zwei: || <div align="right">0 0 1 0</div>
|-
| Drei: || <div align="right">0 0 1 1</div>
|-
| Vier: || <div align="right">0 1 0 0</div>
|-
| Fünf: || <div align="right">0 1 0 1</div>
|-
| Sechs: || <div align="right">0 1 1 0</div>
|-
| Sieben: || <div align="right">0 1 1 1</div>
|-
| Acht: || <div align="right">1 0 0 0</div>
|-
| Neun: || <div align="right">1 0 0 1</div>
|-
| Zehn: || <div align="right">1 0 1 0</div>
|-
| Elf: || <div align="right">1 0 1 1</div>
|-
| Zwölf: || <div align="right">1 1 0 0</div>
|-
| Dreizehn: || <div align="right">1 1 0 1</div>
|-
| Vierzehn: || <div align="right">1 1 1 0</div>
|-
| Fünfzehn: || <div align="right">1 1 1 1</div>
|}


Das '''Dualsystem ''' ([[Latein|lat.]] ''dualis'' „zwei enthaltend“), auch '''Zweiersystem''' oder '''Binärsystem''' genannt, ist ein [[Zahlensystem]], das zur Darstellung von [[Zahl]]en nur zwei verschiedene [[Ziffer]]n benutzt.<ref>Nach DIN 44300, Teil 2, ist „binär“ nicht gleichbedeutend mit „dual“. „Dual“ bezieht sich auf die Darstellung von Zahlen.</ref>
Im üblichen [[Dezimalsystem]] werden die Ziffern 0 bis 9 verwendet
* Im Dualsystem hingegen werden Zahlen nur mit den Ziffern des Wertes [[null]] und [[eins]] dargestellt
* Oft werden für diese Ziffern die [[Symbol]]e 0 und 1 verwendet
* Die Zahlen null bis fünfzehn sind in der rechts stehenden Liste aufgeführt


Im üblichen [[Dezimalsystem]] werden die Ziffern 0 bis 9 verwendet. Im Dualsystem hingegen werden Zahlen nur mit den Ziffern des Wertes [[null]] und [[eins]] dargestellt. Oft werden für diese Ziffern die [[Symbol]]e 0 und 1 verwendet. Die Zahlen null bis fünfzehn sind in der rechts stehenden Liste aufgeführt.
Das Dualsystem ist das [[Stellenwertsystem]] mit der Basis&nbsp;2, liefert also die dyadische (2-adische) Darstellung von Zahlen ('''Dyadik''') ([[Griechische Sprache|gr.]] ''δύο = zwei'')


Das Dualsystem ist das [[Stellenwertsystem]] mit der Basis&nbsp;2, liefert also die dyadische (2-adische) Darstellung von Zahlen ('''Dyadik''') ([[Griechische Sprache|gr.]] ''δύο = zwei'').
Aufgrund seiner Bedeutung in der [[Digitaltechnik]] ist es neben dem [[Dezimalsystem]] das wichtigste Zahlensystem


Aufgrund seiner Bedeutung in der [[Digitaltechnik]] ist es neben dem [[Dezimalsystem]] das wichtigste Zahlensystem.
Die [[Zahldarstellung]]en im Dualsystem werden auch '''Dualzahlen''' oder '''Binärzahlen''' genannt
 
* Letztere ist die allgemeinere Bezeichnung, da diese auch verkürzt für ''[[Binärcode|binärcodierte]] Zahlen'' stehen kann
Die [[Zahldarstellung]]en im Dualsystem werden auch '''Dualzahlen''' oder '''Binärzahlen''' genannt. Letztere ist die allgemeinere Bezeichnung, da diese auch verkürzt für ''[[Binärcode|binärcodierte]] Zahlen'' stehen kann. Der Begriff Binärzahl spezifiziert die Darstellungsweise einer Zahl also nicht näher, er sagt nur aus, dass zwei verschiedene Ziffern verwendet werden.
* Der Begriff Binärzahl spezifiziert die Darstellungsweise einer Zahl also nicht näher, er sagt nur aus, dass zwei verschiedene Ziffern verwendet werden


== Definition und Darstellung ==
== Definition und Darstellung ==
Bei der Zahldarstellung im Dualsystem werden die Ziffern <math>z_i</math> wie im gewöhnlich verwendeten Dezimalsystem ohne Trennzeichen hintereinander geschrieben, ihr Stellenwert entspricht allerdings der zur Stelle passenden [[Potenz (Mathematik)|Zweierpotenz]] und nicht der Zehnerpotenz.
Bei der Zahldarstellung im Dualsystem werden die Ziffern <math>z_i</math> wie im gewöhnlich verwendeten Dezimalsystem ohne Trennzeichen hintereinander geschrieben, ihr Stellenwert entspricht allerdings der zur Stelle passenden [[Potenz (Mathematik)|Zweierpotenz]] und nicht der Zehnerpotenz


Die höchstwertige Stelle mit dem Wert <math>z_m</math> wird also ganz links und die niederwertigeren Stellen mit den Werten <math>z_{m-1}</math> bis <math>z_0</math> werden in absteigender Reihenfolge rechts davon aufgeschrieben. Zur Darstellung von [[Rationale Zahl|rationalen]] oder [[Reelle Zahl|reellen Zahlen]] folgen dann nach einem trennenden Komma die Stellen <math>z_{-1}</math> bis <math>z_{-n}</math>, die den gebrochenen Anteil der Zahl darstellen. Wenn diese Darstellung abbricht, dann sieht das so aus:
Die höchstwertige Stelle mit dem Wert <math>z_m</math> wird also ganz links und die niederwertigeren Stellen mit den Werten <math>z_{m-1}</math> bis <math>z_0</math> werden in absteigender Reihenfolge rechts davon aufgeschrieben
* Zur Darstellung von [[Rationale Zahl|rationalen]] oder [[Reelle Zahl|reellen Zahlen]] folgen dann nach einem trennenden Komma die Stellen <math>z_{-1}</math> bis <math>z_{-n}</math>, die den gebrochenen Anteil der Zahl darstellen
* Wenn diese Darstellung abbricht, dann sieht das so aus:


: <math>z_m z_{m-1} \ldots z_0\operatorname{,}z_{-1} z_{-2} \ldots z_{-n}
: <math>z_m z_{m-1} \ldots z_0\operatorname{,}z_{-1} z_{-2} \ldots z_{-n}
Zeile 60: Zeile 30:
Der Wert <math>Z</math> der Dualzahl ergibt sich durch Addition dieser Ziffern, welche vorher jeweils mit ihrem Stellenwert <math>2^i</math> multipliziert werden:
Der Wert <math>Z</math> der Dualzahl ergibt sich durch Addition dieser Ziffern, welche vorher jeweils mit ihrem Stellenwert <math>2^i</math> multipliziert werden:


: <math>Z = \sum_{i=-n}^m z_i \cdot 2^i</math>.
: <math>Z = \sum_{i=-n}^m z_i \cdot 2^i</math>


Gewöhnlich werden analog zu anderen Zahlensystemen die Symbole 0 und 1 zur Darstellung der beiden Ziffern verwendet.
Gewöhnlich werden analog zu anderen Zahlensystemen die Symbole 0 und 1 zur Darstellung der beiden Ziffern verwendet


In älterer Literatur mit Bezug zur [[Elektronische Datenverarbeitung|elektronischen Datenverarbeitung]] werden manchmal die Symbole Low&nbsp;(L) und High&nbsp;(H) anstelle von 0 und 1 verwendet. Low steht dann meist für den Wert null und High für den Wert eins. Diese Zuordnung nennt sich ''positive Logik'', bei ''negativer Logik'' werden die Werte andersherum zugeordnet.
In älterer Literatur mit Bezug zur [[Elektronische Datenverarbeitung|elektronischen Datenverarbeitung]] werden manchmal die Symbole Low&nbsp;(L) und High&nbsp;(H) anstelle von 0 und 1 verwendet
In der Informatik werden für binär kodierte Werte auch die „Ziffern“ ''wahr'' (w) und ''falsch'' (f) bzw. die englischen Übersetzungen ''true'' (t) und ''false'' (f) verwendet, wobei meist falsch=0 und wahr=1 gesetzt wird.
* Low steht dann meist für den Wert null und High für den Wert eins
* Diese Zuordnung nennt sich ''positive Logik'', bei ''negativer Logik'' werden die Werte andersherum zugeordnet
In der Informatik werden für binär kodierte Werte auch die „Ziffern“ ''wahr'' (w) und ''falsch'' (f) bzw. die englischen Übersetzungen ''true'' (t) und ''false'' (f) verwendet, wobei meist falsch=0 und wahr=1 gesetzt wird


Auch die Symbole L für den Wert eins und 0 für den Wert null finden (selten) Verwendung.
Auch die Symbole L für den Wert eins und 0 für den Wert null finden (selten) Verwendung


Negative Zahlen werden im Dualsystem wie im Dezimalsystem mit einem vorangestellten Minuszeichen&nbsp;(−) geschrieben.
Negative Zahlen werden im Dualsystem wie im Dezimalsystem mit einem vorangestellten Minuszeichen&nbsp;(−) geschrieben


=== Beispiele ===
=== Beispiele ===
Zeile 82: Zeile 54:
: <math>
: <math>
1 \cdot 10^3 + 1 \cdot 10^2 + 0 \cdot 10^1 + 1 \cdot 10^0 = [1101]_{10}
1 \cdot 10^3 + 1 \cdot 10^2 + 0 \cdot 10^1 + 1 \cdot 10^0 = [1101]_{10}
</math>.
</math>
 
Für weitere Techniken und Beispiele zum Umrechnen von Dualzahlen in Dezimalzahlen und umgekehrt: siehe Abschnitt [[#Umrechnen von Dualzahlen in andere Stellenwertsysteme|Umrechnen von Dualzahlen in andere Stellenwertsysteme]].


Die Klammerung der Resultate mit der tiefgestellten 2 beziehungsweise der 10 gibt die Basis des verwendeten [[Stellenwertsystem]]s an. So kann leicht erkannt werden, ob die Zahl im Dual- oder im Dezimalsystem dargestellt ist. In der Literatur werden die eckigen Klammern oft weggelassen und die tiefergestellte Zahl dann manchmal in runde Klammern gesetzt. Ebenfalls möglich ist die Kennzeichnung durch den nachgestellten Großbuchstaben B (für ''binary'', engl. für binär).
Für weitere Techniken und Beispiele zum Umrechnen von Dualzahlen in Dezimalzahlen und umgekehrt: siehe Abschnitt [[#Umrechnen von Dualzahlen in andere Stellenwertsysteme|Umrechnen von Dualzahlen in andere Stellenwertsysteme]]


Verschiedene Schreibweisen der Zahl [[dreiundzwanzig]] im Dualsystem:
Die Klammerung der Resultate mit der tiefgestellten 2 beziehungsweise der 10 gibt die Basis des verwendeten [[Stellenwertsystem]]s an
* So kann leicht erkannt werden, ob die Zahl im Dual- oder im Dezimalsystem dargestellt ist
* In der Literatur werden die eckigen Klammern oft weggelassen und die tiefergestellte Zahl dann manchmal in runde Klammern gesetzt
* Ebenfalls möglich ist die Kennzeichnung durch den nachgestellten Großbuchstaben B (für ''binary'', engl. für binär)


; Verschiedene Schreibweisen der Zahl [[dreiundzwanzig]] im Dualsystem
* [10111]<sub>2</sub>
* [10111]<sub>2</sub>
* 10111<sub>2</sub><ref name=":0">{{Internetquelle |url=https://www.elektronik-kompendium.de/sites/dig/0208051.htm |titel=Duales Zahlensystem (Dualzahlen Binär Dualsystem Binärsystem) |werk=elektronik-kompendium.de |abruf=2023-11-28}}</ref>
* 10111<sub>2</sub>
* 10111<sub>(2)</sub>
* 10111<sub>(2)</sub>
* 0b10111<ref>{{Internetquelle |url=https://living-sun.com/python/708160-binary-numbers-python-binary.html |titel=Binärzahlen? - Python, binär |werk=living-sun.com |abruf=2021-01-20}}</ref>
* 0b10111
* %10111<ref name=":0" /> (sog. [[Motorola]]-Konvention, aber z.&nbsp;B. auch bei [[DR-DOS]] [[DEBUG]])
* %10111 (sog. [[Motorola]]-Konvention, aber z.&nbsp;B. auch bei [[DR-DOS]] [[DEBUG]])
* HLHHH
* HLHHH
* L0LLL
* L0LLL
Die gelegentlich verwendete Schreibweise 10111b bzw. 10111B ist nicht empfehlenswert, da sie mit [[Hexadezimalsystem|Hexadezimalzahlen]] verwechselt werden kann<ref name=":0" />.
Die gelegentlich verwendete Schreibweise 10111b bzw. 10111B ist nicht empfehlenswert, da sie mit [[Hexadezimalsystem|Hexadezimalzahlen]] verwechselt werden kann
 
== Geschichte ==
=== Entwicklung des Dualsystems ===
Der [[Indien|alt-indische]] Mathematiker [[Pingala (Grammatiker)|Pingala]] stellte die erste bekannte Beschreibung eines Zahlensystems bestehend aus zwei Zeichen im 3. Jahrhundert v. Chr. vor. Dieses Zahlensystem kannte allerdings keine Null.
 
Eine Serie von [[acht Trigramme]]n und [[Vierundsechzig Hexagramme|64&nbsp;Hexagrammen]] sind aus dem alt-chinesischen und [[Daoismus|daoistischen]] Text ''[[I&nbsp;Ching]]'' bekannt. Der chinesische Gelehrte und Philosoph [[Shao Yong]] entwickelte im 11. Jahrhundert daraus eine systematische Anordnung von Hexagrammen, die die Folge von 1 bis 64 darstellt, und eine Methode, um dieselbe zu erzeugen. Es gibt jedoch keine Hinweise, dass Shao es verstand, Berechnungen im Dualsystem vorzunehmen oder das Konzept des Stellenwertes erkannt hatte.
 
[[Datei:Diagram of I Ching hexagrams owned by Gottfried Wilhelm Leibniz, 1701.jpg|mini|Joachim Bouvet übermittelte die [[vierundsechzig Hexagramme]] aus China an [[Leibniz]], 1701]]
 
Schon Jahrhunderte bevor das Dualsystem in Europa entwickelt wurde, haben [[Polynesien|Polynesier]] binäre Zusammenfassungen von Zahlen zur Vereinfachung von Rechnungen benutzt.<ref>[https://www.nature.com/news/polynesian-people-used-binary-numbers-600-years-ago-1.14380 ''Polynesian people used binary numbers 600 years ago''] nature.com, abgerufen am 16.06.17</ref>
 
[[Gottfried Wilhelm Leibniz]] erfand schon Ende des 17. Jahrhunderts die Dyadik (dyo, griech. = Zwei), also die Darstellung von Zahlen im Dualsystem. Er sah darin ein so überzeugendes Sinnbild des [[Christentum|christlichen Glaubens]], dass er damit den [[Kaiserreich China|chinesischen]] Kaiser [[Kangxi]] überzeugen wollte. Dazu schrieb er an den französischen [[Jesuiten]]pater [[Joachim Bouvet]] (1656–1730):
 
:: „Zu Beginn des ersten Tages war die&nbsp;1, das heißt Gott. Zu Beginn des zweiten Tages die&nbsp;2, denn Himmel und Erde wurden während des ersten geschaffen. Schließlich zu Beginn des siebenten Tages war schon alles da; deshalb ist der letzte Tag der vollkommenste und der [[Sabbat]], denn an ihm ist alles geschaffen und erfüllt, und deshalb schreibt sich die 7 111, also ohne Null. Und nur wenn man die Zahlen bloß mit 0 und 1 schreibt, erkennt man die Vollkommenheit des siebenten Tages, der als heilig gilt, und von dem noch bemerkenswert ist, dass seine Charaktere einen Bezug zur [[Dreifaltigkeit]] haben.“<ref>{{Literatur |Autor=Hans J. Zacher |Titel=Die Hauptschriften zur Dyadik von G. W. Leibniz |Ort=Frankfurt a. M. |Datum=1973 |ISBN=978-3-465-00998-6 |Seiten=285}}</ref>
 
[[Datei:Leibniz binary system 1697 (cropped).jpg|mini|Das binäre Zahlensystem in einem ersten Entwurf von Gottfried Wilhelm Leibniz, 1697]]
Etwas weltlicher fiel hingegen seine Beschreibung in einem Brief an den Herzog Rudolf von Braunschweig-Wolfenbüttel vom 2. Januar 1697 aus:
{{Zitat
|Text=…&nbsp;Denn einer der Hauptpunkte des christlichen Glaubens … ist die Erschaffung aller Dinge aus dem Nichts durch die Allmacht Gottes. Nun kann man wohl sagen, daß nichts in der Welt dies besser vorstelle, ja, gleichsam demonstriere, als der Ursprung der Zahlen, wie er allhier vorgestellt ist, durch deren Ausdrückung nur und allein mit Eins und Null (oder Nichts) alle Zahlen entstehen. Es wird wohl schwerlich in der Natur und Philosophie ein besseres Vorbild dieses Geheimnisses zu finden sein… Das kommt hier um so mehr zupasse, weil die leere Tiefe und wüste Finsternis zu Null und Nichts, aber der Geist Gottes mit seinem Lichte zur allmächtigen Eins gehört. Wegen der Worte des Sinnbilds habe ich mich eine Zeitlang bedacht und endlich für gut befunden diesen Vers zu setzen: Alles aus dem Nichts zu entwickeln genügt Eins (Omnibus ex nihilo ducendis sufficit unum).
|ref=<ref>[http://www.fh-augsburg.de/~harsch/germanica/Chronologie/17Jh/Leibniz/lei_bina.html Bibliotheca Augustana]</ref>}}
 
Wohl weil die feinmechanischen Fertigkeiten der damaligen Zeit nicht ausreichten, griff Leibniz beim Bau seiner [[Rechenmaschine]]n auf das Dezimalsystem zurück.
 
[[Datei:Leibniz binary system 1703.png|mini|Seite aus ''Explication de l’Arithmétique Binaire'', 1703]]
 
Das Dualsystem wurde von Leibniz am Anfang des 18. Jahrhunderts in seinem Artikel ''Explication de l’Arithmétique Binaire'' (Histoire de l’Academie Royale des Sciences 1703, veröffentlicht in Paris 1705<ref>neu herausgegeben von H.Zacher: ''Die Hauptschriften zur Dyadik von G.W. Leibniz''. Vittorio Klostermann, Frankfurt 1973</ref>) vollständig dokumentiert. Leibniz bestätigt darin außerdem die Ansicht [[Joachim Bouvet]]s, eines [[Missionar]]s am [[Kaiserreich China|chinesischen]] Kaiserhof, der die Tri- und Hexagramme des [[Fu Xi|Fu Hsi]] (siehe [[:Datei:Leibniz Fu Hsi 1703.png|Abbildung]]: „Zeichen des Fu Hsi“) bei bestimmter Leserichtung als Zahlzeichen interpretiert hat. Er sah darin ein archaisches Binärsystem, das in Vergessenheit geraten ist. Diese Deutung gilt inzwischen als sehr unwahrscheinlich.
 
Leibniz hatte aber auch in Europa Vorgänger.<ref>Robert Ineichen: ''Leibniz, Caramuel, Harriot und das Dualsystem''. In: Mitteilungen DMV, 2008</ref> Eine frühere Behandlung des Dualsystems und anderer Stellensysteme von [[Thomas Harriot]] wurde von diesem nicht veröffentlicht, sondern fand sich erst im Nachlass.<ref>Shirley: ''Binary number systems before Leibniz''. In: ''American Journal of Physics'' Bd. 19, 1951, S. 452</ref> Die erste Veröffentlichung des Dualsystems in Europa ist wahrscheinlich in ''Mathesis Biceps vetus et nova'' 1670 vom späteren spanischen Bischof [[Juan Caramuel y Lobkowitz]] (1606–1682), der auch Zahlen zu anderen Basen behandelt. Auch [[Blaise Pascal]] merkte schon in ''De numeris multiplicibus'' (1654, 1665) an, dass die Basis&nbsp;10 keine Notwendigkeit ist.
 
1854 veröffentlichte der britische Mathematiker [[George Boole]] eine richtungsweisende Arbeit, die detailliert ein logisches System beschreibt, das als [[Boolesche Algebra]] bekannt wurde. Sein logisches System bereitete der Realisierung von elektronischen [[Elektrische Schaltung|Schaltungen]] den Weg, welche die Arithmetik im Dualsystem implementieren.
 
=== Die ersten Realisierungen in der Technik ===
* Im November 1937 vollendete [[George Stibitz]], der später bei den [[Bell Laboratories|Bell Labs]] arbeitete, seinen Relais-gestützten Rechner „Modell&nbsp;K“ (nach „K“ für „Küche“, wo er ihn zusammengebaut hat), der die Addition im Dualsystem beherrschte.
* 1937 baute [[Konrad Zuse]] eine auf dem Dualsystem basierende [[Rechenmaschine]], die mechanische [[Zuse Z1]], welche aber aufgrund mechanischer Probleme unzuverlässig arbeitete.
* 1937 fertigte [[Claude Shannon]] seine Master-Abschlussarbeit am [[Massachusetts Institute of Technology|MIT]] an, die erstmals die Boolesche Algebra und die Arithmetik im Dualsystem in elektrischen Relais und Schaltern realisierte. Unter dem Titel ''A Symbolic Analysis of Relay and Switching Circuits'' hat Shannons Arbeit die Konstruktion Digitaler Schaltkreise begründet.
* 1937 bis 1941 bauten [[John Atanasoff]] und [[Clifford Berry]] den ersten elektronischen [[Digitalrechner]], den auf [[Elektronenröhre]]n basierenden [[Atanasoff-Berry-Computer]].
* Am 12. Mai 1941 führte [[Konrad Zuse]] einem kleinen Kreis in Berlin den weltweit ersten [[Turing-Vollständigkeit|universell programmierbaren]] binären [[Digitalrechner]], die elektromechanische [[Zuse Z3]] vor, welcher aber im Zweiten Weltkrieg komplett zerstört wurde.
* Am 19. März 1955 stellten die [[Bell Laboratories|Bell-Forschungslaboratorien]] den weltweit ersten ausschließlich mit [[Halbleiter]]-Elementen realisierten binären Digitalrechner, den [[TRADIC|''TR''ansistorized ''A''irborne ''DI''gital ''C''omputer]], vor.
 
== Anwendung in der elektronischen Datenverarbeitung ==
Bei der Entwicklung von elektronischen Rechenmaschinen erlangte das Dualsystem große Bedeutung, denn in der Digitaltechnik werden Zahlen durch elektrische Zustände dargestellt. Bevorzugt werden zwei komplementäre Zustände wie ''[[Elektrischer Strom|Strom]] an'' / ''Strom aus'' oder ''[[Elektrische Spannung|Spannung]]'' / ''[[Masse (Elektronik)|Masse]]'' verwendet, da auf diese Weise sehr fehlerresistente und einfache Schaltungen zu realisieren sind (siehe [[Binärcode]]). Diese zwei Zustände lassen sich dann als Ziffern benutzen. Das Dualsystem ist die einfachste Methode, um mit Zahlen zu rechnen, die durch diese zwei Ziffern dargestellt werden.
 
Dualzahlen finden in der elektronischen Datenverarbeitung bei der Darstellung von [[Festkommazahl]]en oder [[Ganze Zahl|ganzen Zahlen]] Verwendung. Negative Zahlen werden vor allem als [[Zweierkomplement]] dargestellt, welches nur im positiven Bereich der Dualzahlendarstellung entspricht. Seltener wird dazu das [[Einerkomplement]] verwendet, welches der invertierten Darstellung von Dualzahlen mit vorangestellter Eins entspricht. Die Darstellung von negativen Zahlen im Einerkomplement hat den Nachteil, dass zwei Darstellungen für die Null existieren, einmal im Positiven und einmal im Negativen. Eine weitere Alternative bietet der auf einer Wertebereichsverschiebung basierende [[Exzesscode]].
 
Um [[Rationale Zahl|rationale]] oder gar [[reelle Zahl]]en mit nicht abbrechender Dualzahl-Darstellung näherungsweise in der elektronischen Datenverarbeitung darzustellen, werden vorzugsweise [[Gleitkommazahl|Gleitkommadarstellungen]] verwendet, bei der die Zahl normalisiert und in [[Mantisse]] und [[Potenz (Mathematik)|Exponent]] aufgeteilt wird. Diese beiden Werte werden dann in Form von Dualzahlen gespeichert.
 
=== Berechnung benötigter Stellen ===
Eine Dualzahl mit <math>n</math> Stellen kann maximal den Wert <math>2^n - 1</math> annehmen. Eine vierstellige Dualzahl kann also höchstens den Wert <math>2^4 - 1</math>, also &nbsp; 16&nbsp;−&nbsp;1&nbsp;=&nbsp;15 &nbsp; haben.
 
Konsequenterweise kann man im Dualsystem mit seinen 10 Fingern bis <math>2^{10} - 1</math>, also bis 1023 zählen.
 
In der Digitaltechnik gilt es zu beachten, dass häufig beim Speichern einer Dualzahl auch deren [[Vorzeichen (Zahl)|Vorzeichen]] gespeichert werden muss. Dazu wird meistens das eigentlich höchstwertige Bit in dem für die Zahl reservierten Speicherbereich verwendet. Ist dieser Speicherbereich <math>n</math> Bit groß, so beträgt (bei der Darstellung der negativen Zahlen im [[Zweierkomplement]]) der maximale Wert der positiven Zahlen <math>2^{(n-1)}-1</math> und der minimale Wert der negativen Zahlen <math>-(2^{(n-1)})</math>. Dabei zählt die <math>0</math> zu den positiven Zahlen und die <math>-1</math> ist die „erste negative Zahl“. Insgesamt bleibt damit die Anzahl der darstellbaren Zahlen gleich <math>2^n</math>.
<!-- Durch das Speichern dieses Vorzeichenbits halbiert sich der darzustellende Wertebereich für den verfügbaren Speicher. // negative Werte sind doch auch Teil des Wertebereichs? -->
 
Die Anzahl benötigter Stellen im Dualsystem für eine gegebene Zahl <math>n</math> im Dezimalsystem ist
: <math>\lfloor \operatorname{lb} n\rfloor + 1</math>.
Dabei bezeichnet <math>\lfloor \cdot \rfloor</math> die [[Abrundungsfunktion]] und <math>\operatorname{lb} n</math> den [[Logarithmus#Bezeichnungen|Logarithmus zur Basis 2]] der Zahl <math>n</math>.
Alternativ kann die Anzahl der Dezimalstellen mit 3,322 multipliziert werden (+Aufrunden), was eine Obergrenze ergibt, denn <math>\operatorname{lb}(10) \approx 3{,}322</math> (eine Dezimalstelle, eigentlich also <math>\operatorname{lb}(9{,}\bar{9})</math> wird maximal zu <math>\approx 3{,}322</math> Dualstellen).
 
== Anwendung in der Unterhaltungsmathematik ==
<div style="float:right;">[[Datei:Zahlenraten Dualsystem 2.svg|mini|250px|''Abb. 2'': Beispiel]]</div><div style="float:right;">[[Datei:Zahlenraten Dualsystem 1.svg|mini|248px|''Abb. 1'': Zahlenkarten]]</div>
Der folgende zur [[Unterhaltungsmathematik]] zählende Trick trägt zum Verständnis des Dualsystems bei und verblüfft insbesondere mathematisch weniger Geübte, indem er vermeintlich [[Außersinnliche Wahrnehmung|Hellseherei]] vortäuscht.
=== Vorgehensweise ===
Eine Person A übergibt die sechs Zahlenkarten (''Abbildung 1'') einer Person B mit der Aufforderung, sich eine Zahl zwischen <math>1</math> und <math>63</math> zu merken, geheim zu halten und nur die Karten wieder zurückzugeben, auf denen die gemerkte Zahl vorkommt. Die Person A schaut sich die zurückgegebenen Karten an, addiert danach (möglichst schnell und unauffällig) deren Anfangszahlen und nennt der Person B die berechnete Summe, welche gleich der gedachten Zahl ist.
=== Struktur der Karten ===
Die Zahlenkarten sind folgendermaßen strukturiert: Ist <math>n</math> eine der Zahlen <math>1</math> bis <math>63</math>, so ist <math>n</math> in genau denjenigen Kärtchen enthalten, deren Anfangszahlen die Summe <math>n</math> haben. Genauer formuliert: Nach Zerlegung einer der <math>63</math> Zahlen in [[Zweierpotenz]]-Summanden ist die betreffende Zahl in genau denjenigen Karten enthalten, deren Anfangszahlen diese Summanden sind.
 
Der Zahlentrick beruht darauf, dass sich jede [[natürliche Zahl]] eindeutig als Summe von Zweierpotenzen darstellen lässt.
=== Erläuterndes Beispiel ===
Die Zahl <math>23</math> ist wegen <math>23=16+4+2+1 =[10111]_2</math> in den Karten mit den Anfangszahlen <math>16</math>, <math>4</math>, <math>2</math> und <math>1</math> enthalten. (''Abbildung 2'').<ref>Wolfgang Göbels: ''Zahlenraten durch Kopfrechnen - ein amüsantes Rechentraining für die 5. Jahrgangsstufe'' [[Deutscher Verein zur Förderung des mathematischen und naturwissenschaftlichen Unterrichts]] 49/4 (1.6.1996) S. 207, ISSN 0025-5866, © [[Ferdinand Dümmler|Dümmler Verlag]], [[Bonn]]</ref><ref>[https://www.kleineschule.com.de/Spiele/Magische-Zahlen-Karten-4.pdf Magische Zahlen-Karten] aus ''kleineschule.com.de'', abgerufen am 18. April 2023</ref><ref>[https://www.inf-schule.de/kids/datennetze/Binaerzahlen/schritt4 Magische Tafeln] aus ''inf-schule.de'', abgerufen am 18. April 2023</ref>
 
== Grundrechenarten im Dualsystem ==
Analog zu den Zahlen im [[Dezimalsystem]] lassen sich mit Dualzahlen die gängigen [[Arithmetik|arithmetischen]] Grundoperationen [[Addition]], [[Subtraktion]], [[Multiplikation]] und [[Division (Mathematik)|Division]] durchführen.
Tatsächlich werden die benötigten [[Algorithmus|Algorithmen]] sogar einfacher und lassen sich effizient mit logischen Schaltungen elektronisch realisieren. Die Einführung von Dualzahlen in der Rechentechnik brachte daher viele Vorteile.
 
{| cellspacing="10" cellpadding="0"
||
{| class="wikitable"
! style="background-color:#efefef;" |Addition
! style="background-color:#efefef;" |Beispiel
|-
|
0 + 0 = 0<br />
0 + 1 = 1<br />
1 + 0 = 1<br />
1 + 1 = 0, Übertrag (''carry'')  1
|<math>
{\begin{matrix}
                  &1011_2\\
\operatorname{+}&\ \ \ 11_2\\
\end{matrix}
\over
\begin{matrix}
                &\ \ 1110_2\\
\end{matrix}}
</math>
|}
||
{| class="wikitable"
! style="background-color:#efefef;" |Subtraktion
! style="background-color:#efefef;" |Beispiel
|-
|
0 − 0 = 0<br />
0 − 1 = 1, Übertrag (''borrow'') 1<br />
1 − 0 = 1<br />
1 − 1 = 0
||<math>
\begin{matrix}
&1011_2\\
{-\ }&\ \ 111_2\\
\end{matrix}
\over
\begin{matrix}
&\ \ \ \ \ 100_2
\end{matrix}
</math>
|}
|-----
| style="vertical-align:top;"|
{| class="wikitable"
! style="background-color:#efefef;" |Multiplikation
! style="background-color:#efefef;" |Beispiel
|-
|
0 <math>\cdot</math> 0 = 0<br />
0 <math>\cdot</math> 1 = 0<br />
1 <math>\cdot</math> 0 = 0<br />
1 <math>\cdot</math> 1 = 1
||<math>1010_2{\cdot}11_2=11110_2</math>
|}
||
{| class="wikitable"
! style="background-color:#efefef;" |Division
! style="background-color:#efefef;" |Beispiel
|-
|
0 / 0 = n.def.<br />
0 / 1 = 0<br />
1 / 0 = n.def.<br />
1 / 1 = 1
|<math>1010_2{/}10_2=101_2</math>
|}
|}
 
=== Schriftliche Addition ===
 
{| class="wikitable float-right" style="text-align:center;"
|- style="background:#e0e0e0"
| style="min-width:18px;" | ''A''
| style="min-width:18px;" | ''B''
| style="min-width:18px; border-right:3px double darkgray;" | ''M<sub>1</sub>''
| style="min-width:18px;" | ''M<sub>2</sub>''
| style="min-width:18px;" | ''E''
|-
| 0 || 0
| style="border-right:3px double darkgray;" | 0
| 0 || 0
|-
| 0 || 0
| style="border-right:3px double darkgray;" | 1
| 0 || 1
|-
| 0 || 1
| style="border-right:3px double darkgray;" | 0
|0 || 1
|-
| 0 || 1
| style="border-right:3px double darkgray;" | 1
| 1 || 0
|-
| 1 || 0
| style="border-right:3px double darkgray;" | 0
| 0 || 1
|-
| 1 || 0
| style="border-right:3px double darkgray;" | 1
| 1 || 0
|-
| 1 || 1
| style="border-right:3px double darkgray;" | 0
| 1 || 0
|-
| 1 || 1
| style="border-right:3px double darkgray;" | 1
| 1 || 1
|}
 
Die binäre Addition ist eine grundlegende Basisoperation in der Computerwelt. Will man zwei nicht negative Binärzahlen <math>A</math> und <math>B</math> addieren, kann man das wie im Dezimalsystem tun. Nur muss man beachten, dass beim Ergebnis an der jeweiligen Stelle keine „Zwei“ notiert wird, sondern eine Null und an die nächste Stelle ein Übertrag. Das geschieht analog zur Dezimaladdition, wenn sich bei der Addition einer Stelle eine Zehn ergibt:
 
Die Zahlen werden übereinander aufgeschrieben. Nun arbeitet man von rechts nach links alle Binärziffern (=Bits) von <math>A</math> und <math>B</math> simultan ab und erzeugt in jedem Zwischenschritt ein Ergebnisbit sowie ein Merkerbit (auch [[Übertrag]] genannt). Dabei werden die Bits entsprechend der Tabelle rechts zusammengezählt. In den Spalten A und B sind die Bits der zu addierenden Zahlen zu finden. In der Spalte <math>M_1</math> steht das Merkerbit des vorherigen Zwischenschrittes. Daraus ergeben sich (entsprechend dieser Tabelle, welche einem [[Volladdierer]] entspricht) ein Ergebnisbit (E) und ein neues Merkerbit (<math>M_2</math>). Alle Ergebnisbits, von rechts nach links aneinandergereiht, stellen das Resultat dar. Entsteht beim letzten Zwischenschritt ein Merkerbit, so bekommt das Resultat links eine zusätzliche&nbsp;1.
 
Am besten sieht man das anhand eines Beispiels. Hier werden die Zahlen A und B zusammengezählt. In jedem Schritt wird ein anfallendes Merkerbit bei der nächsten Ziffer notiert.
        A = 10011010 (154)
        B = 00110110 ( 54)
  Merker = 01111100
            ————————
Ergebnis = 11010000 (208)
            ‗‗‗‗‗‗‗‗
 
=== Schriftliche Subtraktion ===
 
Die [[Subtraktion]] verhält sich analog zur Addition.
 
: <math>0 - 0 = 0</math>
: <math>0 - 1 = 1</math>,  Übertrag (''borrow'') 1
: <math>1 - 0 = 1</math>
: <math>1 - 1 = 0</math>
 
Zwei Zahlen im Dualsystem können voneinander wie im folgenden Beispiel dargestellt subtrahiert werden:
 
<math>
\begin{matrix} & 1 & 1 & 0 & 1 & 1 & 1 & 0\\
              -& &  & 1 & 0  & 1  & 1  & 1\\
              & & {}_1 &  & {}_1 & {}_1 & {}_1 &
\end{matrix}
\over
\begin{matrix} =& 1 & 0  & 1 & 0  & 1  & 1  & 1
\end{matrix}
</math>
 
Hier wird die Subtraktion &nbsp; 110−23&nbsp;=&nbsp;87 &nbsp; durchgeführt. Die kleinen Einsen in der dritten Reihe zeigen den Übertrag. Das Verfahren ist das Gleiche, wie es in der Schule für das Dezimalsystem unterrichtet wird. Etwas ungewohnt sieht der Fall 0−1 aus. Zur Verdeutlichung das Beispiel 2−9 im Dezimalsystem: Man denkt sich eine Zehnerstelle vor die Zwei, wodurch sich die Subtraktion 12−9 ergibt. Die gedachte Zehnerstelle wird dann als Übertrag an die nächste Stelle weitergereicht. Im Dualsystem geschieht das Gleiche: Aus 0−1 wird 10−1. Als Ergebnis kann also eine 1 hingeschrieben werden; die vor die 0 gedachte Eins muss dann als Übertrag an die nächste Stelle geschrieben und von dieser zusätzlich abgezogen werden.
 
Das Verfahren funktioniert (wie auch im Dezimalsystem) nicht, wenn der [[Minuend]] (1.&nbsp;Zahl) kleiner ist als der [[Subtrahend]] (2.&nbsp;Zahl). Sollte das der Fall sein, erfolgt die Subtraktion einer Zahl durch die Addition des [[Zweierkomplement]]es dieser Zahl. Die Subtraktion einer positiven Zahl ergibt nämlich das gleiche Ergebnis wie die ''Addition'' der entsprechenden [[Negative Zahl|''negativen'']] Zahl mit dem gleichen Betrag:
 
<math>
\begin{array}{crcccccccc|l|cr}
& & 0 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & \text{Minuend}  & & 118_{10}\\
-& & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 1 & \text{Subtrahend}&-& 153_{10} \\
\hline
& & 0 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & \text{Minuend} & & 118_{10}\\
+ & (-) & 0 & 1 & 1 & 0 & 0 & 1 & 1 & 1 & \text{Subtrahend (Zweierkomplement)} & + & (-)153_{10}\\
& { \color{blue}{}_0} & {}_1 & {}_1 & & & {}_1 & {}_1 & && \\
\hline
= & & 1 & 1 & 0 & 1 & 1 & 1 & 0 & 1 & \text{Ergebnis (Zweierkomplement, negativ)} & = & -35_{10}\\
\hline
\hline
& & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 1 & \text{Betrag des Ergebnisses} & & 35_{10}\\
\end{array}
</math>
 
Wäre der (blau markierte) Übertrag 1, müsste das Zweierkomplement des Ergebnisses nicht mehr gebildet werden, da die vorzeichenlose Darstellung der positiven Zahlen im Zweierkomplement gleich ist (siehe [[Zweierkomplement#Motivation|Tabelle dort]]). Der Übertrag wird zu den (nicht dargestellten) führenden Einsen des Zweierkomplementes addiert, wodurch im Ergebnis nur führende Nullen entstehen. Als Beispiel dient die obige Rechnung 110−23&nbsp;=&nbsp;87 &nbsp;:
 
<math>
\begin{array}{crccccccc|l}
&    & 1  & 1 &  0 & 1 & 1 & 1 & 0 & \text{Minuend}\\
+& (-)  & 1  & 1 &  0 & 1 & 0 & 0 & 1 & \text{Subtrahend (Zweierkomplement)}\\
& { \color{blue}{}_1 } & {}_1 &  & {}_1 &  &  &  &  &\\
\hline
=&    & 1  & 0 & 1  & 0 & 1 & 1 & 1 &
\end{array}
</math>
 
=== Schriftliche Multiplikation ===
 
Die Multiplikation wird im Dualsystem genauso durchgeführt wie im Dezimalsystem. Dadurch, dass nur 0 und 1 als Ziffern vorkommen, ist die schriftliche Multiplikation jedoch sogar einfacher. Das folgende Beispiel, in dem die Zahlen 1100&nbsp;(12) und 1101&nbsp;(13) multipliziert werden, zeigt die Vorgehensweise.
 
Zuerst schreibt man die Aufgabenstellung in eine Zeile und zieht zur Vereinfachung einen Strich darunter.
 
1100 · 1101
———————————
 
Die erste Ziffer des zweiten Faktors ist eine Eins und deshalb schreibt man den ersten Faktor rechtsbündig unter diese Eins.
 
1100 · 1101
———————————
    1100
 
Auch für alle weiteren Einsen des zweiten Faktors schreibt man den ersten Faktor rechtsbündig darunter.
 
1100 · 1101
———————————
    1100
      1100
      0000
        1100
 
Die so gewonnenen Zahlen zählt man dann zum Ergebnis der Multiplikation zusammen.
 
1100 · 1101
———————————
    1100
    + 1100
    +  0000
    +  1100
———————————
    10011100 (156)
 
Ein besonders einfacher Fall ist die Multiplikation einer positiven Dualzahl mit der Zahl 10&nbsp;(2). In diesem Fall muss lediglich an die positive Dualzahl eine 0 angehängt werden:
 
: <math>1101 \cdot 10 = 11010</math>
 
: <math>11010 \cdot 10 = 110100</math>
 
usw.
 
Für diese Rechenoperation existieren einfache Befehle in der Digitaltechnik.
 
Bei der Multiplikation zweier [[Zweierkomplement]]-Dualzahlen wird der [[Booth-Algorithmus]] benutzt.
 
=== Schriftliche Division ===
 
Bei der Division zweier Dualzahlen werden folgende Algorithmen verwendet.
 
Am Beispiel der Division von 1000010&nbsp;/&nbsp;11 (entspricht 66:3 im Dezimalsystem)
 
    1000010 ÷ 11 = 010110 Rest 0 (= 22 im Dezimalsystem) somit mod
  − 011
  —————
    00100
    − 011
    ————
      0011
    − 011
    —————
        0
 
Die Anwendung der [[Modulo]]-Funktion mit dem Divisor 10&nbsp;(2) auf positive Dualzahlen ergibt immer&nbsp;1, wenn die letzte Ziffer des Dividenden 1 ist und 0, wenn die letzte Ziffer des Dividenden 0&nbsp;ist:
 
: <math>1101 \mod 10 = 1</math>
 
: <math>1100 \mod 10 = 0</math>
 
Für diese Rechenoperation, die einer [[Konjunktion (Logik)|UND]]-Verknüpfung mit 1 entspricht, existieren einfache Befehle in der Digitaltechnik.
 
Ein besonders einfacher Fall ist die [[Division mit Rest]] einer positiven Dualzahl durch die Zahl 10&nbsp;(2). In diesem Fall muss lediglich die letzte Ziffer des Dividenden gestrichen werden. Ist die letzte Ziffer des Dividenden eine&nbsp;1, so verschwindet dieser Rest. Entspricht bei diesem Verfahren die Anzahl der Divisionen durch&nbsp;2 der Anzahl der Stellen des Dividenden, so ist das Endergebnis immer&nbsp;0:
 
: <math>1101 \div 10 = 110</math>
 
: <math>110 \div 10 = 11</math>
 
: <math>11 \div 10 = 1</math>
 
: <math>1 \div 10 = 0</math>
 
Für diese Rechenoperation existieren einfache Befehle in der Digitaltechnik.
 
== {{Anker|Umrechnung}}Umrechnen von Dualzahlen in andere Stellenwertsysteme ==
{{Hauptartikel|Zahlbasiswechsel}}
Durch die kleine Basis ergibt sich der Nachteil, dass Zahlen im Verhältnis zu Dezimalzahlen relativ lang und schwer zu überschauen sind (siehe Tabelle unten). Das hat zur Verbreitung des [[Hexadezimalsystem]]s geführt, welches die Basis&nbsp;16 besitzt.
Da 16 eine Potenz von 2 ist, ist es besonders einfach möglich, Dualzahlen in Hexadezimalzahlen umzurechnen. Dazu werden je vier Stellen der Dualzahl durch eine Hexadezimalstelle ersetzt, was auch die Länge der dargestellten Zahlen um den Faktor vier verringert. Die Hexadezimalziffern mit dem Wert 0–15 werden in der Regel durch die Ziffernsymbole 0–9 und die Großbuchstaben A–F (für die Werte 10–15) dargestellt. Dadurch sind sie verhältnismäßig gut lesbar, so lässt sich zum Beispiel leicht feststellen, dass EDA5<sub>(16)</sub> größer ist als ED7A<sub>(16)</sub>, wohingegen sich die entsprechenden Dualzahlen 1110110110100101<sub>(2)</sub> und 1110110101111010<sub>(2)</sub> nicht so schnell überblicken lassen.
 
{| class="wikitable"
|-
! bgcolor="#f0f0f0"|Dualsystem
| 0|| 1|| 10|| 11
| 100|| 101|| 110|| 111
|1000||1001||1010||1011
|1100||1101||1110||1111
|-
! bgcolor="#f0f0f0"|[[Dezimalsystem]]
| 0 || 1|| 2|| 3|| 4|| 5|| 6|| 7
| 8 || 9||10||11||12||13||14||15
|-
! bgcolor="#f0f0f0"|[[Oktalsystem]]
| 0 || 1|| 2|| 3|| 4|| 5|| 6|| 7
| 10||11||12||13||14||15||16||17
|-
! bgcolor="#f0f0f0"|[[Hexadezimalsystem]]
| 0|| 1|| 2|| 3|| 4|| 5|| 6|| 7
| 8|| 9|| A|| B|| C|| D|| E|| F
|}
 
=== Vom Dualsystem ins Dezimalsystem ===
 
Um eine Dualzahl in die entsprechende Dezimalzahl umzurechnen, werden alle Ziffern jeweils mit ihrem Stellenwert (entsprechende Zweierpotenz) multipliziert und dann addiert.
 
Beispiel:
: <math>1010_{(2)} = 1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2^1 + 0 \cdot 2^0= 1 \cdot 2^3 + 1 \cdot 2^1 = 8 + 2 = 10_{(10)}</math>
 
Endet die Dualzahl mit einer 1, so ist die Dezimalzahl eine ungerade Zahl. Ist die letzte Ziffer der Dualzahl eine 0, so ist die Dezimalzahl gerade.
 
Beispiel:
: <math>101001_{(2)} = 1 \cdot 2^0 + 0 \cdot 2^1 + 0 \cdot 2^2 + 1 \cdot 2^3 + 0 \cdot 2^4 + 1 \cdot 2^5 = 1 \cdot 2^0 + 1 \cdot 2^3 + 1 \cdot 2^5 = 1 + 8 + 32 = 41_{(10)}</math>
 
: <math>101000_{(2)} = 0 \cdot 2^0 + 0 \cdot 2^1 + 0 \cdot 2^2 + 1 \cdot 2^3 + 0 \cdot 2^4 + 1 \cdot 2^5 = 1 \cdot 2^3 + 1 \cdot 2^5 = 8 + 32 = 40_{(10)}</math>
 
Dieses Verfahren kann auch in Form einer Tabelle aufgeschrieben werden. Dazu notiert man die einzelnen Ziffern einer Dualzahl in Spalten, die mit dem jeweiligen Stellenwert der Ziffer überschrieben sind. In der folgenden Tabelle ist der Stellenwert orange hinterlegt. In jeder der drei Zeilen des weißen Teils steht eine Dualzahl:
 
{| class="wikitable"
|-
|rowspan="2"|
|colspan="6" style="background:orange; text-align:center;"| Stellenwert
|rowspan="2" colspan="2"|
|-style="background:orange"
|32||16||8||4||2||1
|-
|rowspan="3" style="text-align:center;"|Dualzahl
| 0 || 0 || 0 || 1 || 0 || 1 ||style="background:lightgreen"| 5
|rowspan="3" style="background:lightgreen"|Dezimalzahl
|-
| 1 || 0 || 0 || 0 || 1 || 1 ||style="background:lightgreen"| 35
|-
| 0 || 0 || 1 || 0 || 1 || 0 ||style="background:lightgreen"| 10
|}
 
Man addiert nun alle Stellenwerte, die über den Einsen der Dualzahl stehen und erhält die entsprechende grün hinterlegte Dezimalzahl. Um zum Beispiel den Dezimalwert der dritten Dualzahl zu errechnen, werden die Stellenwerte 8 und 2 addiert. Das Ergebnis ist 10.
 
Diese Tabellenmethode ist auch für Stellenwertsysteme zu anderen Basen möglich; die Besonderheit im Dualsystem ist, dass der jeweilige Feldeintrag ('0' oder '1') nicht erst mit der Wertigkeit der Stelle multipliziert werden muss, sondern direkt als Auswahl-Flag ('nein' / 'ja') dieser Stellenwertigkeit zur Addition verwendet werden kann.
 
=== Vom Dezimalsystem ins Dualsystem ===
 
Es gibt mehrere Möglichkeiten der Umrechnung ins Dualsystem. Im Folgenden ist die Divisionsmethode (auch [[Division mit Rest|Modulo]]-Methode genannt) am Beispiel 41<sub>(10)</sub> beschrieben:
 
: <math>\left.\begin{matrix}
41 &: 2 &=& 20 &\mathrm{ Rest }\ \ \mathbf{1}\\
20 &: 2 &=& 10 &\mathrm{ Rest }\ \ \mathbf{0}\\
10 &: 2 &=& 5 &\mathrm{ Rest }\ \ \mathbf{0}\\
  5 &: 2 &=& 2 &\mathrm{ Rest }\ \ \mathbf{1}\\
  2 &: 2 &=& 1 &\mathrm{ Rest }\ \ \mathbf{0}\\
  1 &: 2 &=& 0 &\mathrm{ Rest }\ \ \mathbf{1}
\end{matrix}\ \right\uparrow</math>
 
Die entsprechende Dualzahl ergibt sich durch Notation der errechneten Reste von unten nach oben: 101001<sub>(2)</sub>.
 
Eine andere Methode ist die Subtraktionsmethode. Bei dieser subtrahiert man jeweils die größtmögliche Zweierpotenz von der umzurechnenden Dezimalzahl. Wenn die nächstgrößte Zweierpotenz größer als die Differenz der vorherigen Subtraktion ist, so ist die Wertigkeit der nächsten Binärstelle 0. Andernfalls ist die nächste Binärstelle 1, und die Zweierpotenz wird abgezogen.
Um diese Methode zu verdeutlichen, bedienen wir uns weiter des Beispiels der Zahl 41:
 
: <math>\left.\begin{matrix}
41 &- 2^5 &=& 9 &\mathrm{ Wertigkeit }\ \ \mathbf{1}\\
  9 &- 2^4 &<& 0 &\mathrm{ Wertigkeit }\ \ \mathbf{0}\\
  9 &- 2^3 &=& 1 &\mathrm{ Wertigkeit }\ \ \mathbf{1}\\
  1 &- 2^2 &<& 0 &\mathrm{ Wertigkeit }\ \ \mathbf{0}\\
  1 &- 2^1 &<& 0 &\mathrm{ Wertigkeit }\ \ \mathbf{0}\\
  1 &- 2^0 &=& 0 &\mathrm{ Wertigkeit }\ \ \mathbf{1}
\end{matrix}\ \right\downarrow</math>
 
== Eigenschaften ==
=== Teilbarkeit durch eine 2er Potenz ===
Eine Zahl, dargestellt zur Basis <math>n</math>, ist so oft durch die Basis <math>n</math> ohne Rest teilbar (<math>i</math>-fach, also durch <math>n^i</math>), wie die Zahl Nullen am Ende hat (<math>i</math> Stück). Eine Dualzahl <math>100101000_2</math> (im Dezimalsystem <math>296</math>) ist also dreimal durch <math>2</math> teilbar (<math>=2^3</math>), da sie auf drei Nullen endet und tatsächlich gilt <math>296=2^3\cdot 37</math>
 
=== Teilbarkeit durch 3 ===
Sei <math>n=b_k\dots b_0</math> eine Binärzahl, wobei <math>b_i\in\{0,1\}</math>. Weiter definieren wir die Menge der Einsen an geraden Stellen <math>G_{1}(n) = \{ i \mid \exists j. b_{2j}(n) = 1 \}</math> und die Menge der Einsen an ungeraden Stellen <math>U_{1}(n) = \{ i \mid \exists j. b_{2j+1}(n) = 1 \}</math>. Dann gilt für die Zahl <math>n</math> bezüglich der Teilbarkeit durch <math>3</math> (<math>\#</math> steht für die Anzahl):
: <math>|\#G_{1}(n)-\#U_{1}(n)|\mod 3 = 0\implies n\text{ ist teilbar durch } 3</math>
 
Mit Worten ausgedrückt, eine Binärzahl ist genau dann ohne Rest durch 3 teilbar, wenn die Betragsdifferenz der Anzahl der Einsen auf den geraden Positionen und der Anzahl der Einsen auf den ungeraden Positionen durch 3 teilbar ist. Man spricht hier auch von der [[Quersumme#Alternierende Quersumme|alternierenden Quersumme]], die durch 3 teilbar sein muss.
 
Beispiel an der Zahl <math>n=744628179621_{(10)}</math>:
: Die Zahl hat folgende Binärdarstellung <math>n=1010110101011111010011000101001010100101_{(2)}</math>. Es gilt <math>|\#G_{1}(n)-\#U_{1}(n)|=|9-12|=3</math> und <math>3 \mod 3 = 0</math> und tatsächlich <math>744628179621:3=248209393207</math>
 
== Ähnliche Zahlensysteme ==
* Das [[Unärsystem]], 1er-System oder [[Strichliste]] ist das einfachste Zahlensystem.
 
Andere gängige [[Stellenwertsystem]]e sind
* [[Ternärsystem]] (3er-System)
* [[Quaternär]] (4er-System)
* [[Quinär]] (5er-System)
* [[Senär]] (6er-System)
* [[Dezimalsystem]] (10er-System)
* [[Hexadezimalsystem]] (16er-System)


<noinclude>
<noinclude>
Zeile 561: Zeile 85:
==== Links ====
==== Links ====
===== Weblinks =====
===== Weblinks =====
== Weblinks ==
# https://de.wikipedia.org/wiki/Dualsystem
# https://de.wikipedia.org/wiki/Dualsystem
 
----
[[Kategorie:Zeichenkodierung]]
[[Kategorie:Zahlensystem]]
[[Kategorie:Zahlensystem]]
[[Kategorie:Binärcode]]
</noinclude>
</noinclude>

Aktuelle Version vom 17. März 2024, 10:57 Uhr

Dualsystem - Zahlensystem zur Darstellung von Zahlen, die nur zwei verschiedene Ziffern benutzt

Beschreibung

Das Dualsystem (lat. dualis „zwei enthaltend“), auch Zweiersystem oder Binärsystem genannt, ist ein Zahlensystem, das zur Darstellung von Zahlen nur zwei verschiedene Ziffern benutzt

  • Nach DIN 44300, Teil 2, ist „binär“ nicht gleichbedeutend mit „dual“. „Dual“ bezieht sich auf die Darstellung von Zahlen

Im üblichen Dezimalsystem werden die Ziffern 0 bis 9 verwendet

  • Im Dualsystem hingegen werden Zahlen nur mit den Ziffern des Wertes null und eins dargestellt
  • Oft werden für diese Ziffern die Symbole 0 und 1 verwendet
  • Die Zahlen null bis fünfzehn sind in der rechts stehenden Liste aufgeführt

Das Dualsystem ist das Stellenwertsystem mit der Basis 2, liefert also die dyadische (2-adische) Darstellung von Zahlen (Dyadik) (gr. δύο = zwei)

Aufgrund seiner Bedeutung in der Digitaltechnik ist es neben dem Dezimalsystem das wichtigste Zahlensystem

Die Zahldarstellungen im Dualsystem werden auch Dualzahlen oder Binärzahlen genannt

  • Letztere ist die allgemeinere Bezeichnung, da diese auch verkürzt für binärcodierte Zahlen stehen kann
  • Der Begriff Binärzahl spezifiziert die Darstellungsweise einer Zahl also nicht näher, er sagt nur aus, dass zwei verschiedene Ziffern verwendet werden

Definition und Darstellung

Bei der Zahldarstellung im Dualsystem werden die Ziffern wie im gewöhnlich verwendeten Dezimalsystem ohne Trennzeichen hintereinander geschrieben, ihr Stellenwert entspricht allerdings der zur Stelle passenden Zweierpotenz und nicht der Zehnerpotenz

Die höchstwertige Stelle mit dem Wert wird also ganz links und die niederwertigeren Stellen mit den Werten bis werden in absteigender Reihenfolge rechts davon aufgeschrieben

  • Zur Darstellung von rationalen oder reellen Zahlen folgen dann nach einem trennenden Komma die Stellen bis , die den gebrochenen Anteil der Zahl darstellen
  • Wenn diese Darstellung abbricht, dann sieht das so aus:

Der Wert der Dualzahl ergibt sich durch Addition dieser Ziffern, welche vorher jeweils mit ihrem Stellenwert multipliziert werden:

Gewöhnlich werden analog zu anderen Zahlensystemen die Symbole 0 und 1 zur Darstellung der beiden Ziffern verwendet

In älterer Literatur mit Bezug zur elektronischen Datenverarbeitung werden manchmal die Symbole Low (L) und High (H) anstelle von 0 und 1 verwendet

  • Low steht dann meist für den Wert null und High für den Wert eins
  • Diese Zuordnung nennt sich positive Logik, bei negativer Logik werden die Werte andersherum zugeordnet

In der Informatik werden für binär kodierte Werte auch die „Ziffern“ wahr (w) und falsch (f) bzw. die englischen Übersetzungen true (t) und false (f) verwendet, wobei meist falsch=0 und wahr=1 gesetzt wird

Auch die Symbole L für den Wert eins und 0 für den Wert null finden (selten) Verwendung

Negative Zahlen werden im Dualsystem wie im Dezimalsystem mit einem vorangestellten Minuszeichen (−) geschrieben

Beispiele

Die Ziffernfolge 1101 zum Beispiel stellt nicht (wie im Dezimalsystem) die Tausendeinhunderteins dar, sondern die Dreizehn, denn im Dualsystem berechnet sich der Wert durch

und nicht wie im Dezimalsystem durch

Für weitere Techniken und Beispiele zum Umrechnen von Dualzahlen in Dezimalzahlen und umgekehrt: siehe Abschnitt Umrechnen von Dualzahlen in andere Stellenwertsysteme

Die Klammerung der Resultate mit der tiefgestellten 2 beziehungsweise der 10 gibt die Basis des verwendeten Stellenwertsystems an

  • So kann leicht erkannt werden, ob die Zahl im Dual- oder im Dezimalsystem dargestellt ist
  • In der Literatur werden die eckigen Klammern oft weggelassen und die tiefergestellte Zahl dann manchmal in runde Klammern gesetzt
  • Ebenfalls möglich ist die Kennzeichnung durch den nachgestellten Großbuchstaben B (für binary, engl. für binär)
Verschiedene Schreibweisen der Zahl dreiundzwanzig im Dualsystem
  • [10111]2
  • 101112
  • 10111(2)
  • 0b10111
  • %10111 (sog. Motorola-Konvention, aber z. B. auch bei DR-DOS DEBUG)
  • HLHHH
  • L0LLL

Die gelegentlich verwendete Schreibweise 10111b bzw. 10111B ist nicht empfehlenswert, da sie mit Hexadezimalzahlen verwechselt werden kann


Anhang

Siehe auch


Links

Weblinks
  1. https://de.wikipedia.org/wiki/Dualsystem