Zahlensysteme und Konvertierung

Im letzten Beitrag haben wir gelernt, warum Rechner mit zwei Ziffern, 0 und 1 auskommen müssen bzw.  wie das System mechanisch-elektronisch funktioniert. Heute würde ich gerne den Versuch wagen zu erklären, wie das System von der Seite der Programmierung her funktioniert. Hierbei werden wir verschiedene Zahlensysteme kennen lernen.

Um die Thematik zunächst einmal zu verstehen ist es wichtig, dass man sich folgende Tatsache vor Augen führt: die Darstellung eines Zahle(nwerte)s ist nicht nur durch die Form und Anzahl der Zeichen, zB. im römischen römischen Zahlensystem, möglich.  So hängt der Wert einer Zahl in den Systemen der u.a. Chinesen von der Form bzw. Position des jeweiligen Zeichens ab(sog. Positions- oder Stellenwertsystem).  Diese haben gemeinsam die Eigenschaft, dass sie zur Darstellung der Ziffer 0 ein zusätzliches Zeichen brauchen. Sie besitzen aber sehr einfache Rechenregel. Unser arabischen Zahlensystem ist auch so ein Positionssystem, mit der Basis zehn.

Heutigen Rechner  sowie die Daten, die sie verarbeiten, sind  binär kodiert und verwenden somit ein Positionssystem, das mit den Ziffern 0 und 1 auskommt(Sog. Dualsystem). Daneben existieren aber sehr viele weitere Zahlensystemen auf Basis natürlicher Zahlen (z.B.: Oktal-, Hexadezimalsystem, jeweils zum Basis 8 oder 16). Hierbei wird eine natürliche Zahl  durch die folgende Formel dargestellt (Achtung, es wird mathematisch! nicht erschrecken, unter dem Bild wird alles genau erklärt):

  • ” n”  ist  die natürliche Zahl, die man gerne darstellen würde
  • “b” steht für die einzelnen Ziffer der jeweiligen Zahl( wenn n= 832, dann gibt es 3 Ziffer : b1=8 , b2=3, b3= 2)
  • N steht für die Anzahl der Stellen(  bei einer Zahl mit 3 Ziffern gibt es eine 1., eine 2. und eine 3. Stelle)
  • “B” ist die Basis des Zahlensystems( im Dualsystem = 2, im Oktalsystem= 8,  im Dezimalsystem = 10 etc.)

Somit würde unsere Zahl 832 im Dualsystem dargestellt so aussehen:

n=  832           = 8*22 + 3*21 + 2*20

in Kurzform   = 8*4 + 3*2 +2*1

oder       = 32+6+2

oder   = (40)2

Warum nochmal?

Die Zahl 832 steht an der ersten Stelle die Zahl “8”, an der 2. Stelle die Zahl “3”, an der 3. Stelle die Zahl “2”. Nachdem  die letzte Zahl die Stelle “0” hat, so geht natürlich die Bezeichnung der Stellen bei einer 3-stelligen Zahl von 2 bis 0.

An der Stelle ein kleiner Hinweis: Da es im Hexadezimalsystem (B= 16) für die Zahlen 10-15 keine eigene Zifferdarstellung gibt, verwendet man die Buchstaben A, B, C, ….F.

Jedenfalls gilt, dass man sich eine Zahl beispielsweise im Oktalsystem (Basis 8) wesentlich einfacher merken kann, als im Dualsystem(Basis 2).. Man kann nämlich ohne größeren Aufwand vom einen System in das nächste wechseln, sog. Konvertieren. Hierfür werden sog. Dualtriaden also Dreiergruppen gebildet(Beachte: 23=8). Für die Konvertierung in das Hexadezimalsystem werden sog. Dualtetraden(Vierergruppen) gebildet(Beachte: 24= 16)

Beispiel:

Die Zahl 110110111 entspricht im Oktalsystem die Zahl 667, denn

110   I    110    I     111

=1*22+1*21+0*20 I     1*22+1*21+0*20 I     1*22+ 1*21*1*20

= 4+2 I    4+2 I    4+2+1

= 6 I 6 I 7 I

= 667

Übrigens: Eine einzelne gespeicherte Binärstelle (“binary digit”), im Dualsystem also eine 0 oder 1 ,wird als “Bit” bezeichnet. Eine Bit ist die kleinste Informationseinheit, die ein Computer  zu verarbeiten in der Lage ist.

 

Wer mit meiner Erklärung nicht zurecht kommt, dem kann ich diesen  sowie diesen Beitrag zum Thema empfehlen.
Übrigens: nächste Woche wird dann wieder etwas praktischer, denn da werde ich versuchen zu erklären was dieses Bild zu bedeuten hat:

 

Quellen: Ich erstelle meine Beiträge grundsätzlich mit Hilfe des Buches: Herold, Lurz, Wohlrab- Grundlagen der Informatik, 2. Auflage.

Teile diesen Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.