Theorie
 
 
 
 
 
Computertechnik

 
 
 
 

Zahlen beschreiben elektrische Signale

 
 

.. Kennung von Zahlensystemen

 
 

 
 
 
 
 
7. Kennzeichnung von Zahlen verschiedener Systeme
Beim Programmieren benutzt der Programmierer gerne das Zahlensystem, welches sein Problem am deutlichsten beschreibt. Will er beispielsweise die Werte einer Torausgabe in einem Befehl angeben, wird er das binäre Zahlensystem benutzen, um die Setzung der einzelnen Torbits aufzuschreiben. 0001 0010b sagt aus, dass das 1. und das 4. Torbit *) gesetzt werden sollen. Bei der hexadezimalen Angabe 12h oder der dezimalen Angabe 18 wäre dies nur nach einer Rechnung zu erkennen gewesen.

*) Die Bits wurden hier von rechts nach link, mit 0 beginnend gezählt
 
 
 
 

Programmiersprachen unterstützen den Programmierer in diesem Wunsch. Normalerweise stehen alle vier Zahlensysteme zur Verfügung. Doch nun muss zwingend den Zahlen hinzugefügt werden, aus welchem Zahlensystem sie stammen sollen. 10h ist eben nicht das Gleiche wie 10b. In dem ersten Fall wird von 16 Dingen gesprochen, in dem zweiten Fall von nur 2 Dingen. Folgende Kennungsmöglichkeiten sind in Gebrauch ..

 
 
 


Zahlen-Kennung

dual

oktal

hexadezimal

dezimal



Indiziert

1232

1238

12316

12310



Assembler

123b

123o

123h

123



C

---

0123

0x123

123


 
 
 

In der Assemblersprache stehen alle vier Zahlensysteme zur Verfügung, während in C keine Binärzahlen angegeben werden können. Gewöhnungsbedürftig ist in C die Schreibweise der hexadezimalen Zahlen, die durch den Vorsatz von 0x eingeleitet werden. Geradezu gefährlich ist für Ordnungsfanatiker die oktale Schreibweise in C. Wer in einer Tabelle seine kurzen Dezimalzahlen mit einer führenden 0 auffüllt, der erhält oktale Zahlen oder mit etwas Glück eine Fehlermeldung, wenn die Zahl Ziffern enthält, die grösser sind als 7.
Die indizierte Schreibweise wird in der Programmierung nicht benutzt. Man findet sie manchmal in Zeitschriften.





8. Zahlen über den ASCII-Code angeben
Normalerweise findet die Zuordnung einer Zahl zu einer Variablen (also einer Speicherzelle mit Namen) bei Programmiersprachen wie folgt statt ..

  x= 0x4A    // x wird mit der hexadezimalen Zahl 4Ah = 74 gefüllt
  x= 0112    // x wird mit der       oktalen Zahl 112 = 74 gefüllt
  x= 74      // x wird mit der     dezimalen Zahl  74 = 4Ah gefüllt

eine zunächst verblüffende Möglichkeit ebenfalls 74 in einer Speicherzelle abzulegen ist ..

  x='J'     // x wird mit 4Ah = 74 gefüllt.

Da Speicherzellen grundsätzlich nur Zahlen enthalten können, muss der Buchstabe 'J' einer Zahl zugeordnet sein. Das trifft auch zu, denn es wird nicht der Buchstabe 'J' im Speicher abgelegt sondern sein ASCII-Code und der ist gerade 74 oder 4Ah. In diesem Fall durchsuchen der Compiler oder der Assembler die ASCII-Code Tabelle, die ihnen vom Hersteller mitgegeben wurde und ersetzt das 'J' durch seinen ASCII-Code. Dieser wird in der Speicherzelle abgelegt.




www..de