Frage von Nervin20, 41

Mathematik dualsystem?

Hey Leute. Kann mir einer erklären wie , dass duale rechnungssystem mit der Zahl 25 funktioniert?

Antwort
von gfntom, 4

Es gibt zwei grundsätzliche Methoden, um eine Zahl in binärer Schreibweise auszudrücken.

Das eine ist durch Subtraktion/Addition der höchsten 2er-Potenzen - das wurde ja hier schon mehrmals angedeutet.

Es gibt aber auch die Deivisions-und-Rest-Methode:

Du überprüfst, ob die (Verbleibende) Zahl gerade oder ungerade ist. Ist sie gerade notierst du eine 0 und machst mit der halben zahl weiter. Ist sie ungerade notierst du eine 1 und machst mit (zahl-1)/2 weiter.

Hier am Beispiel von 25:

25 -> ungerade -> 1 notieren, mit (25-1)/2 = 24/2 = 12 weitermachen
12 -> gerade -> 0 notieren, mit 12/2 = 6 weitermachen
6   -> gerade -> 0 notieren, mit 6/2 = 3 weitermachen
3   -> ungerade -> 1 notieren, mit (3-1)/2 = 1 weitermachen
1 -> ungerade -> 1 notieren, du bist fertig, da (1-1)/2 = 0 ist.

Wenn du diese Stellen von rechts nach links der Reihe nach aufschreibst, erhältst du wieder 11001.

(Wichtige Anmerkung: diese Zahl ist immer noch 25, nur eben jetzt binär geschrieben. Diese als "Elftausendundeins" zu lesen, wäre falsch!)

Antwort
von gfntom, 10

25 = 1 * 16 + 1 * 8 + 0 * 4 + 0 * 2 + 1 * 1 => 11001

Antwort
von poseidon42, 9

Du kannst jede natürliche Zahl als Summe von 2er-Potenzen darstellen, im Fall der 25 folgt:

25 = 1+ 8 + 16 = 2^0  +  2^3  +  2^4

In der Schreibweise des Binärsystems steht jede Ziffer für einen Vorfaktor der zugehörigen Zweierpotenz, im Dezimalsystem ist dies übrigens ebenso, beachte Beispielsweise:

2345 (Dezimalsystem) = 2*10^3 + 3*10^2 + 4*10 + 5*10^0

Die n-te Ziffer einer Zahl wird dabei als Vorfaktor zu der Basis hoch (n-1) zugeordnet (siehe einfach Beispiel darüber, die 4-te Ziffer, die 2, ist Vorfaktor von 10^3 = 10^(4-1)  , wobei hier n = 4 )

Als Konvention hat man vereinbart unnötige Nullen wegzulassen, sofern keine feste Wortlänge festgelegt wurde (oder anderweitige Einschränkungen), Beispiel:

000000000000000000....0000100,10000000...000000 = 100,1

Betrachten wir nun zu guter letzt wieder unser anfängliches Beispiel:

25 = 1+ 8 + 16 = 2^0  +  2^3  +  2^4

Wir betrachten nun den größten Exponenten der auftritt, dieser lautet hier offensichtlich 4, damit wissen wir, dass wir mindestens eine Wortlänge von 5 brauchen um die Zahl im Binärsystem darzustellen, wir schreiben nun:

1*2^0  +  1*2^3  +  1*2^4 = 11001 (Binärsystem)

Die einzelnen Vorfaktoren der verschiedenen 2er-Potenzen (hier die 1en und 0en) sind direkt abzulesen.

Somit fällt sofort auf, dass sich die Umwandlung von Binärzahlen in Dezimalzahlen sehr einfach gestaltet, betrachte ein beliebiges Wort der Länge n der Gestalt:

abcdef...z (Binärsystem) = a*2^(n-1) + b*2^(n-2) + ... + ^z*2^0

Die Addition liefert schließlich die Darstellung im Dezimalsystem.

Die Umwandlung von Dezimalzahlen in Binärzahlen hingegen ist schon etwas schwieriger, hier gibt es verschiedene Verfahren, für relativ kleine Zahlen bietet sich zum Beispiel ausprobieren verschiedener Zweierpotenzen an, wie im Beispiel der 25 vorgeführt, dabei versucht man stets die größmöglichste Zweierpotenz die noch reinpassen könnte (hierfür braucht eventuell etwas Übung) auszuprobieren. Hier nochmal an einem weiteren "komplizierteren" Beispiel:

Betrachte 76 im Dezimalsystem:

- 64 liegt als Zweierpotenz nahe an 76 und passt rein, subtrahiere also 64 von 76

---> 76 - 64 = 12

- 8 liegt als Zweierpotenz nahe an der 12 und passt rein, subtrahiere also 8 von 12

----> 12 - 8 = 4

- 4 ist Zweierpotenz, wir konnten die 76 also erfolgreich als Summe von Zweierpotenzen darstellen mit:

76 = 64 + 8 + 4 = 2^6 + 2^3 + 2^2

Und damit in binärer Schreibweise (höchster Exponent ist 6 also lautet die minimale Wortlänge 7): = 1001100

Nun existiert neben der Darstellung als Summe von Potenzen noch eine alternative und nützliche Schreibweise von Zahlen in polyadischen Zahlensystemen, das Horner-Schema, am Beispiel des Dezimalsystems verdeutlicht:

23456 = 2*10^4 + 3*10^3 + 4^*10^2 + 5*10^1 + 6*10^0

Ausklammern von 10er-Potenzen liefert schließlich:

2*10^4 + 3*10^3 + 4^*10^2 + 5*10^1 + 6*10^0 =

= 10*(2*10^3 + 3*10^2 + 4*10^1 + 5) + 6*10^0

= 10*(10*(2*10^2 + 3*10 + 4) + 5) + 6*10^0

usw. ... schließlich bekommen wir:

= 10*(10*(10*(10*(2) + 3) + 4) + 5) + 6*10^0

Wenn wir also eine Zahl im Dezimalsystem in das Hornerschema übetragen wollen ist dies wie gezeigt recht einfach:

abc...z (Dezimalsystem, Länge n)

= 10*(10*(...10*(a) + b) + c) + ... ) + z*10^0

Beispiele:

234 = 10*(10*(2) + 3) + 4*10^0

3476 = 10*(10*(10*(3) + 4) + 7) + 6*10^0

Wozu der ganze Quatsch? Das Hornerschema ermöglicht uns die Umwandlung von Zahlen von einem Zahlensystem in ein anderes sehr simpel zu gestalten. Wir wissen, dass sich eine natürliche Zahl im Dezimalsystem als Summe von Zweierpotenzen schreiben lässt, dass heißt durch Ausklammern von 2 anstatt von 10 funktioniert also das Hornerschema analog:

Beispiel:

25 = 2^4 + 2^3 + 2^0

Ausklammern von 2 liefert hier:

= 2*(2^3 + 2^2) + 2^0

= 2*(2*(2^2 + 2^1)) + 2^0

= 2*(2*(2*(2^1 + 1))) + 2^0

= 2*(2*(2*(2*(1) + 1))) + 2^0

Also ebenfalls recht simpel und analog zu dem Beispiel mit dem Dezimalsystem.

Wir wissen nun, dass zum Beispiel die Zahl 2345 im Dezimalsystem irgendwie als Summe von Zweierpotenzen und somit im Binärsystem darstellbar ist, wir können also schreiben:

2345 = 2*(2*(...2*(a) + b) + c) + d) ... ) + z*2^0

Wie finden wir nun die einzenen Ziffer a,b,c,d, ... , z für die Binärzahl heraus? An der Stelle verweise ich auf die Modulo Rechnung, im Endeffekt eine Division, wobei jedoch das Ergebnis dieser Operation der Rest ist, als Beispiel ( % soll hier mal der Modulo-Operator sein):

23 % 5 = Rest( 23/5) = Rest( 20/5 + 3/5) = Rest( 4 + 3/5) = 3

36 % 9 = Rest(36/9) = Rest( 4) = 0

Dabei gestallt sich die Modulo-Operation mit 2 besonders einfach beachte:

12 % 2 = Rest(12/2) = Rest(6) = 0

13 % 2 = Rest(13/2) = Rest( 6 + 1/2) = 1

Also %2 von einer geraden Zahl ergibt 0 (da gerade Zahl durch 2 teilbar) und %2 von einer ungeraden Zahl ergibt 1 (da ungerade Zahl = eine gerade Zahl + 1).

Damit kennen wir nun eine Rechenoperation die uns die Ermittlung der einzelnen Ziffern ermöglicht, denn Betrachten wir mal %2 in unserem Fall:

2345 % 2 = Rest(  {2*(2*(...2*(a) + b) + c) + d) ... ) + z*2^0}/2 )

= Rest( 2*(2*(...2*(a) + b) + c) + d) ... ) + y*2^0  + z/2 )

= z

Wir erhalten also die 1.Ziffer !!! Damit können wir nun einen Algorithmus aufschreiben mit dem wir eine beliebige Dezimalzahl in eine Binärzahl umwandeln können:

1.) Rechne:      Zahl % 2   ----> liefert erste Ziffer

2.) Setze als neue Zahl das Ergebnis der Division ohne den Rest (Alles hinter dem Komma fällt weg)

3.) Gehe zurück zu 1.)

Hier an unserem Beispiel:

2345 % 2 = 1   ( da 2345 ungerade)  ----> erste Ziffer ist 1

---> 2345 div 2 = 1172,5  --( Alle Nachkommazahlen weglassen)-> 1172

1172 % 2 = 0  (da 1172 gerade) ----> zweite Ziffer ist 0

1172 div 2 = 586 ----> 586

586 % 2 = 0   (da 586 gerade)   ------> dritte Ziffer ist 0

---> 586 div 2 = 293 ----> 293

293 % 2 = 1   (da 293 ungerade)  -----> vierte Ziffer ist 1

---> 293 div 2 = 146,5 -----> 146

146 % 2 = 0  (da 146 gerade) ------> fünfte Ziffer ist 0

----> 146 div 2 = 73

73 % 2 = 1  ( da 73 ungerade)  -------> sechste Ziffer ist 1

----> 73 div 2 = 36,5 ----> 36

36 % 2 = 0   ( da 36 gerade )  ----------> siebte Ziffer ist 0

-----> 36 div 2 = 18

18 % 2 = 0   ( da 18 gerade) ------>  achte ziffer ist 0

----> 18 div 2 = 9

9 % 2 = 1  ( da 9 ungerade) ------> neunte Ziffer ist 1

----> 9 div 2 = 4,5 ----> 4

4 % 2 = 0 ( da 4 gerade ) ------> zehnte Ziffer ist 0

----> 4 div 2 = 2

2 % 2 = 0 ( da 2 gerade)  ------> elfte Ziffer ist 0

---> 2 div 2 = 1

1 % 2 = 1  ( da 1 ungerade) ------> zwölfte Ziffer ist 1

----> 1 div 2 = 0,5 ----> 0  Wir sind am Ende angelangt

Wir können also nun schreiben:

2345 (Dez.Syst.) = 100100101001  (Bin.Syst.)

Geschrieben als Summe von 2er-Potenzen damit:

2345 = 2^11 + 2^8 + 2^5 + 2^3 + 2^0 = 2048 + 256 + 32 + 8 + 1

= 2345

Somit ist unser Ergebnis für die Darstellung im Binärsystem also korrekt. Dieses Verfahren wie hier vorgestellt funktioniert so nur für ganze Zahlen, ist aber leicht erweiterbar auf die rationalen Zahlen bzw. reellen Zahlen. Zu guter letzt nochmal angewendet auf dein anfängliches Beispiel:

25 % 2 = 1   ( da 25 ungerade) -----> erste Ziffer ist 1

---> 25 div 2 = 12,5 ----> 12

12 % 2 = 0   ( da 12 gerade)  -----> zweite Ziffer ist 0

----> 12 div 2 = 6

6 % 2 = 0   ( da 6 ungerade ) -------> dritte Ziffer ist 0

----> 6 div 2 = 3

3 % 2 = 1   ( da 3 ungerade )  ----> vierte Ziffer ist 1

----> 3 div 2 = 1,5 ---> 1

1 % 2 = 1  ( da 1 ungerade )  -----> fünfte Ziffer ist 1

-----> 1 div 2 = 0   -----> Wir sind am Ende !!!

Damit können wir also schreiben:

25 (Dez.Syst.) = 11001 (Bin.Syst.)

Welches Verfahren du nun verwendest ist egal, das Raten und ausprobieren von Zweierpotenzen als auch das Verfahren über das Hornerschema sind 2 Methoden die einen immer ans Ziel bringen. Beim Hornerschema musst du jedoch weniger nachdenken, da es sich hierbei nur um stumpfes ausführen von Lösungsschritten und elementare Rechenoperationen handelt, beim Raten von 2er-Potenzen muss man erstmal überhaupt diese auswendig kennen um das Verfahren relativ schnell auszuführen. Persönlich empfehlich ich für kleine Zahlen das Raten von 2er-Potenzen und für größere das Verfahren über das Hornerschema.

Kommentar von ichweisses2000 ,

gute antwort

Antwort
von ausdertonne, 4

Beim Dezimalsystem gibt es 10 Ziffern, daher musst du für Zahlen größer als 10 eine neue Stelle hinzunehmen und dann wieder ab 100=10^2 und ab 1000=10^3 und so weiter.

Beim Dualsystem hast du aber nur 2 Ziffern und musst daher schon bei 2 eine neue Stelle hinzunehmen.

10 dual bedeutet 2

11 dual =3

Jetzt brauchst schon wieder eine neue Stelle

100 dual = 4

usw.

Die Überträge finden immer an Stellen mit Zweierpotenzen statt, also bei 2,4,8,16 usw...

Jetzt schreibst du 25 als Summe von Zweierpotenzen auf:

25 = 16+8+1

Das heißt die Stellen 1,3 und 4  bekommen eine 1, alle anderen eine 0, denn es ist  2^0=1, 2^3=8 und 2^4=16

Daher ist die Lösung

11001




Keine passende Antwort gefunden?

Fragen Sie die Community