Die Interpretation von Bitmustern (Die Interpretation von Bitmustern), Lektion, Seite 724342
https://www.purl.org/stefan_ram/pub/binaere_werte_programmieren (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs
Java-Kurs
C-Kurs

Die Interpretation von Bitmustern

Uminterpretation

Ein Code könnte einem Bitmuster bestimmte Zahlen zuordnen.

Natürliche Zahlen
●● 3
●○ 2
○● 1
○○ 0

Ein anderer Code könnte einem Bitmuster bestimmte Zeichen zuordnen.

Zeichen
●● D
●○ C
○● B
○○ A

Das Bitmuster eines Zeichens kann dann als Bitmuster einer Zahl uminterpretiert werden.

Zeichen und Zahlen
D ●● 3
C ●○ 2
B ○● 1
A ○○ 0

So kann jedem Zeichen eine Zahl (Kennzahl ) zugeordnet werden.

Zeichen mit Kennzahlen
D 3
C 2
B 1
A 0

Abstrakte Werte

Oft interessiert man sich nur dafür, welche Werte  es gibt, und nicht  dafür, wie diese konkret durch ein Bitmuster dargestellt werden. Solche Werte ohne Bitmuster nennen wir auch abstrakte Werte, wenn das Fehlen eines Bitmusters betont werden soll, oder sonst einfach Werte.

Zahlen
3
2
1
0
Zeichen
A
B
C
D

Die Interpretation von Bits

Angenommen, wir finden ein Bitmuster.

Ein vorgefundenes Bitmuster
●○

Woher wissen wir dann, welcher Code zur Interpretation heranzuziehen ist?

Eine mögliche Interpretation
●○ C
Eine andere, ebenfalls mögliche Interpretation
●○ 2

Es ist nicht möglich, den richtigen Code, dem Bitmuster selber zu entnehmen!

Der passende Code muß also zusätzlich zum Bitmuster auch noch irgendwo abgespeichert werden.

Hierzu gibt es die Möglichkeit, eine Tabelle der Codes  anzulegen.

Tabelle der Codes
● Zahl
○ Zeichen

Wir können den Code dann auch noch vor den Daten abspeichern. (Im folgenden trennt ein senkrechter Strich die Information über den Code von den Informationen über den Wert.)

Das Zeichen „C“
○|●○ C
Die Zahl 2
●|●○ 2

Allerdings müssen wir dann immer noch wissen, daß dieses spezielle System verwendet werden soll, um Bitmuster wie „●|●○“ zu interpretieren.

Datentypen als Mittel zur Interpretation

Ein Datentyp ist ein Entität eines Datypenmodells einer Programmiersprache. Das heißt: Die Programmiersprache erklärt, daß es bestimmte Datentypen gibt, beispielsweise durch eine Tabelle der Datentypen.

In einer Programmiersprache wird jedem Bitmuster dann in der Regel ein Datentyp zugeordnet. Dieser Datentyp gibt dann auch den Code an, der zur Interpretation des Bitmusters heranzuziehen ist.

Dynamische Speicherung

Bei der dynamischen Speicherung  wird der Datentyp eines Bitmusters zusammen mit diesem  abgespeichert.

Diese Art der Speicherung wird als „dynamisch“ bezeichnet, weil der Datentyp (der hier auch als „Laufzeittyp“ bezeichnet wird) während des Ablaufs eines Programms verändert werden kann, indem die entsprechenden Bits verändert werden.

Statische Speicherung

Bei der statischen Speicherung  ist der Datentyp eines Bitmusters dem Programm bereits bekannt und muß deshalb nicht noch zusätzlich mit dem Bitmuster zusammen abgespeichert werden. Bei dieser Vorgehensweise kann der Typ dann aber in der Regel nicht während des Programmablaufs verändert werden, daher nennt man sie „statisch“ („nicht veränderlich“)

Objekte

Objekte  in Programmiersprachen sind praktisch solche Bitmuster (oder basieren auf solchen Bitmustern). In manchen Programmiersprachen enthalten die Objekte „dynamisch“ zunächst Informationen über ihren Typ  und dann über ihren Wert, in anderen „statisch“ nur über ihren Wert.

Grenzen der Informationsdarstellung

Durch eine bestimmte Anzahl von Bits lassen sich Werte darstellen. Mehr Bits erlauben mehr verschiedene Werte, was bei Zahlen den maximal darstellbaren Wert oder die Genauigkeit der Darstellung erhöhen kann. Aber egal, wieviel Bits man verwendet:

Die Anzahl der möglichen Werte (und damit die Größe und/oder Genauigkeit) ist immer begrenzt.

Geschichte

Die Idee der Informationsdarstellung durch Bits geht mindestens auf Francis Bacon  (15611626) zurück, der schrieb:

a man may expresse the intentions of his minde at any distance ... by objects ... capable of a twofold difference onely 

Damit hat er vor mehreren Hundert Jahren das Internet vorausgesehen.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724342 stefan_ram:724342 Die Interpretation von Bitmustern Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724342, slrprddef724342, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/binaere_werte_programmieren