Binärsystem und Datendarstellung

Lerne, wie Computer Zahlen, Text, Bilder und Ton in Bits umwandeln. Rechne zwischen Dezimal-, Binär- und Hexadezimalsystem um, speichere ganze Zahlen als vorzeichenlose Ganzzahlen und im Zweierkomplement, kodiere reelle Zahlen in der Gleitkommadarstellung nach IEEE 754 und erkenne, warum 0,1 + 0,2 nicht genau 0,3 ist. Kodiere Text mit ASCII und Unicode (UTF-8), berechne den Speicherbedarf von Bildern, Videos und Ton und erfahre, wie verlustfreie und verlustbehaftete Kompression Dateien verkleinern.

AnfängerEinheit 2 von 7 in Kurs: Informatik – Computer, Algorithmen, Internet und KI verstehen

Was du lernst

  1. Erkläre, wie Gruppen von Bits Informationen kodieren, und rechne ganze Zahlen zwischen Dezimal-, Binär- und Hexadezimalsystem um.
    • Erkläre Bits, Bytes und die Anzahl der Werte, die eine Gruppe von Bits darstellen kann
      Beschreibe Bits und Bytes, berechne die Anzahl der Muster, die eine bestimmte Anzahl von Bits ergibt, und lies Speicher- und Geschwindigkeitseinheiten korrekt.
    • Rechne ganze Zahlen zwischen Dezimal- und Binärsystem um
      Lies Binärzahlen mithilfe ihrer Stellenwerte und wandle ganze Dezimalzahlen mit zwei zuverlässigen Verfahren in Binärzahlen um.
    • Nutze die Hexadezimaldarstellung als Kurzschreibweise für die Binärdarstellung
      Rechne zwischen Hexadezimal-, Binär- und Dezimalsystem um und erkläre, warum Programmierer Bytes, Farben und Adressen hexadezimal schreiben.
  2. Speichere nicht negative und negative ganze Zahlen mit einer festen Anzahl von Bits, bestimme ihre Darstellungsbereiche und erkläre, was geschieht, wenn ein Wert nicht hineinpasst.
    • Speichere vorzeichenlose Ganzzahlen und bestimme ihren Darstellungsbereich
      Stelle nicht negative ganze Zahlen mit fester Bitbreite dar, wähle eine passende Bitbreite und erkläre Überlauf.
    • Stelle negative ganze Zahlen im Zweierkomplement dar
      Lies und schreibe negative ganze Zahlen im Zweierkomplement, bestimme den Darstellungsbereich einer vorzeichenbehafteten Bitbreite und vergleiche sie mit der Vorzeichen-Betrag-Darstellung.
  3. Schreibe Brüche im Binärsystem, kodiere und dekodiere Zahlen in den Gleitkommaformaten nach IEEE 754 und erkläre die Grenzen ihres Darstellungsbereichs und ihrer Darstellungsgenauigkeit.
    • Schreibe Brüche im Binärsystem und erkenne, warum manche keine endliche Binärdarstellung haben
      Rechne zwischen Dezimal- und Binärbrüchen um, erkenne periodische Binärbrüche wie 0,1 und beschreibe Festkommazahlen.
    • Kodiere und dekodiere Gleitkommazahlen nach IEEE 754
      Nutze die wissenschaftliche Schreibweise im Binärsystem und die Felder für Vorzeichen, Exponent und Nachkommaanteil der IEEE-754-Formate mit einfacher und doppelter Genauigkeit.
    • Erkläre Darstellungsbereich, Darstellungsgenauigkeit und Rundungsfehler bei der Gleitkommadarstellung
      Erkläre, warum Gleitkommawerte Näherungen sind, sage typische Auswirkungen wie bei 0,1 + 0,2 voraus und wähle einen geeigneten Zahlentyp.
  4. Erkläre, wie aus Zeichen Zahlen und Bytes werden, nutze ASCII und Unicode und bestimme, wie viele Bytes UTF-8-Text benötigt.
    • Kodiere Text mithilfe von Zeichencodes und ASCII
      Wandle Text mithilfe einer Zeichencodetabelle in Zahlen und Bits um, lies den Aufbau von ASCII und erkläre seine Grenzen.
    • Nutze Unicode-Codepunkte und die UTF-8-Kodierung
      Unterscheide einen Unicode-Codepunkt von seinen kodierten Bytes, kodiere Zeichen in UTF-8 und erkläre Zeichensalat und die Anzahl der Bytes.
  5. Beschreibe, wie aus Bildern Pixel und Farbwerte werden, berechne ihren Speicherbedarf und erkläre, wie Ton abgetastet und in Zahlen umgewandelt wird.
    • Stelle Bilder mithilfe von Pixeln und Farbwerten dar
      Beschreibe Rastergrafiken, Farbtiefe, RGB- und Hexadezimalfarbcodes, Farbpaletten und Transparenz.
    • Berechne die Speichergröße von Bildern und vergleiche Rastergrafiken mit Vektorgrafiken
      Berechne den Speicherbedarf eines unkomprimierten Bildes oder Videos, erkläre, was Dateien zusätzlich enthalten, und beschreibe Vektorgrafiken.
    • Digitalisiere Ton durch Abtastung und Quantisierung
      Erkläre Abtastung, Abtastrate und Bittiefe, wende die Abtastregel an und berechne die Größe unkomprimierter Audiodaten.
  6. Erkläre, wie Kompression Daten verkleinert, wende einfache verlustfreie Verfahren an und wähle zwischen verlustfreien und verlustbehafteten Formaten.
    • Erkläre verlustfreie Kompression anhand der Lauflängenkodierung und weiterer Kodierungsverfahren
      Wende Lauflängenkodierung und Codes variabler Länge an, beschreibe Wörterbuchverfahren und erkläre, warum kein Verfahren jede Datei verkleinert.
    • Erkläre verlustbehaftete Kompression und wähle ein geeignetes Format
      Beschreibe, wie verlustbehaftete Kompression weniger auffällige Details entfernt, wäge Qualität gegen Größe ab und wähle Formate für verschiedene Datenarten.

Binärsystem und Datendarstellung einfach erklärt

6 Kapitel

1

Zähle Muster und wechsle die Zahlenbasis

Ein Computer kann dieselbe Gruppe von Bits für eine Zahl, einen Buchstaben oder einen Teil eines Bildes verwenden. Die Interpretation gibt dem Muster seine Bedeutung. Bevor du mit diesen Interpretationen arbeitest, musst du die verfügbaren Muster zählen und die Einheiten für Speicherung und Übertragung lesen können. Dezimal-, Binär- und Hexadezimalsystem bieten dir dann drei Möglichkeiten, eine ganze Zahl zu schreiben. Ihre Stellenwerte machen Umrechnungen nachvollziehbar.

1.1 Bits, Bytes und Speichereinheiten

Ein Bit hat einen von zwei Werten: 0 oder 1. Hardware kann zwei physikalische Zustände zuverlässig unterscheiden, etwa hohe und niedrige Spannung, entgegengesetzte Magnetisierungsrichtungen oder Licht und kein Licht. Die geschriebenen Ziffern beschreiben diese Zustände; sie müssen nicht buchstäblich in einem Gerät erscheinen.

Zähle die Muster

Jedes neue Bit verdoppelt die Möglichkeiten. Zwei Bits haben vier Muster: 00, 01, 10 und 11. Drei Bits haben acht. Allgemein ergeben n Bits 2n Muster. Ein Nibble besteht aus 4 Bits und ein Byte aus 8 Bits, ein Byte hat also 256 Muster. Ein Byte ist auf den meisten modernen Computern auch die kleinste adressierbare Speichereinheit.

Um eine Reihe von Werten zu kodieren, wählst du genügend Muster für jeden Wert. Für 26 Buchstaben ergeben vier Bits nur 16 Muster; fünf Bits ergeben 32, also reichen fünf Bits. Für 1.000 Werte ergeben neun Bits 512 und zehn Bits 1.024 Muster. Ungenutzte Muster sind erlaubt. Mit 16 Bits gibt es 65.536 Muster und mit 32 Bits 4.294.967.296.

Die Anzahl der Muster unterscheidet sich von der größten vorzeichenlosen Zahl. Vier Bits liefern 16 Muster, doch das Zählen beginnt bei null, sodass die Werte von 0 bis 15 reichen. Ein Muster wird bereits für null verwendet.

Um die kleinste Bitbreite systematisch zu finden, vergleichst du aufeinanderfolgende Potenzen von zwei mit der benötigten Anzahl von Möglichkeiten. Halte bei der ersten Potenz an, die groß genug ist. Für N verschiedene Werte lautet die Prüfung 2n≥N. Genaue Gleichheit ist erlaubt: Acht Möglichkeiten passen in drei Bits, während eine neunte ein viertes Bit benötigt. Eine größere Bitbreite funktioniert ebenfalls, ist aber nicht mehr die kleinste.

Gib dem Muster eine Bedeutung

Das Byte 01000001 kann die Ganzzahl 65, den ASCII-Buchstaben „A“ oder eine Farbkanalintensität von 65 auf einer Skala von 0–255 bedeuten. Die Bits allein legen keine dieser Lesarten fest. Der Datentyp eines Programms und das Format der Datei bestimmen, wie sie zu interpretieren sind.

Lies Speichereinheiten

Zwei Familien von Präfixen sind gebräuchlich:

Dezimaler SpeicherBytesBinärer SpeicherBytes
1 kB1.0001 KiB1.024
1 MB1.000.0001 MiB1.048.576
1 GB1.000.000.0001 GiB1.073.741.824

Die dezimalen Präfixe sind SI-Präfixe; die binären Präfixe sind IEC-Präfixe. Bei jedem dezimalen Schritt wächst die Einheit um den Faktor 1.000, bei jedem binären um den Faktor 1.024. Um Bytes in einer größeren Einheit auszudrücken, dividiere durch die Anzahl der Bytes in dieser Einheit.

Ein Laufwerk mit der Angabe 500 GB enthält 500.000.000.000 Bytes. Die Division durch 1.073.741.824 ergibt etwa 465,66 GiB. Software kann diese binäre Menge als „GB“ bezeichnen, wodurch die angezeigte Kapazität kleiner aussieht. Der Einheitenwechsel selbst hat keine Bytes entfernt; Formatierung und Systemdateien sind separate Fragen.

Unterscheide Bits und Bytes

Das kleine b bedeutet Bit, das große B Byte. Eine Verbindung mit 100 Mbit/s überträgt höchstens 100 Millionen Bits pro Sekunde. Die Division durch 8 ergibt 12,5 Millionen Bytes pro Sekunde oder 12,5 MB/s, bevor der Protokoll-Overhead berücksichtigt wird. Liest man diese Geschwindigkeit als 100 MB/s, ist sie achtmal zu groß.

Wichtige Erkenntnisse

  • Ein Byte hat 8 Bits; ein Nibble hat 4.
  • Jedes zusätzliche Bit verdoppelt die Anzahl der Muster.
  • Wähle die kleinste Anzahl von Bits, deren verfügbare Muster alle Werte abdecken.
  • Ein Datentyp oder eine Kodierung gibt einem Bitmuster seine Bedeutung.
  • SI-Präfixe für Speichereinheiten nutzen Potenzen von 10; IEC-Präfixe nutzen Potenzen von 2.
  • Dividiere eine Bitrate durch 8, um die entsprechende Byterate zu erhalten.

1.2 Binäre Stellenwerte und Umrechnung

Das Binärsystem ist ein Stellenwertsystem: Der Wert einer Ziffer hängt von ihrer Position ab. Das Dezimalsystem verwendet zehn Ziffern und Potenzen von 10. Das Binärsystem verwendet zwei Ziffern, 0 und 1, und Potenzen von 2. Um eine Binärzahl zu lesen, addierst du die Stellenwerte, an denen eine 1 steht.

Lies eine ganze Binärzahl

Von rechts nach links sind die Stellenwerte 1, 2, 4, 8, 16, 32, 64, 128 und so weiter. Jeder ist doppelt so groß wie der vorherige, denn 20=1, 21=2 und 22=4.

Ordne für 1011012 die sechs Bits ihren Stellenwerten zu:

Stellenwert32168421
Bit101101

Der Wert ist 32+8+4+1=45. Eine Null trägt nichts bei, hält aber die anderen Ziffern an den richtigen Stellen. Führende Nullen ändern den Wert nicht: 00101101 ist ebenfalls 45.

Das Bit ganz links ist das höchstwertige Bit, das MSB. Das Bit ganz rechts ist das niederwertigste Bit, das LSB. Jeder Stellenwert außer dem letzten ist gerade, daher ist eine ganze Binärzahl genau dann ungerade, wenn ihr LSB 1 ist.

Rechne durch Subtraktion von Zweierpotenzen um

Um 156 binär zu schreiben, beginnst du mit der größten passenden Zweierpotenz: 128. Subtrahiere sie, es bleibt 28. Die Stellenwerte 64 und 32 passen nicht, also erhalten beide eine 0. Nimm 16, es bleibt 12; nimm 8, es bleibt 4; nimm 4, es bleibt 0. Die nicht verwendeten Stellenwerte 2 und 1 erhalten eine 0.

In der Reihenfolge der Stellen ergibt sich 156=100111002. Prüfe durch Addition der gewählten Stellenwerte: 128+16+8+4=156. Würdest du eine nicht verwendete Stelle überspringen, verschöbe das jedes nachfolgende Bit und änderte die Zahl.

Das Subtraktionsverfahren funktioniert, weil jeder binäre Stellenwert höchstens einmal verwendet werden kann. Nach Abzug der größten passenden Potenz ist der Rest kleiner als diese Potenz. Gehe alle Stellen abwärts durch, auch die mit null, bis die Einerstelle besetzt ist. So entsprechen die gewählten Bits verschiedenen Potenzen, statt nur eine Liste von Potenzen ohne Positionen zu bilden.

Rechne durch wiederholte Division um

Ein anderes Verfahren dividiert wiederholt durch 2. Verwende den Quotienten für die nächste Division und notiere den Rest:

ZahlQuotientRest
156780
78390
39191
1991
941
420
210
101

Lies die Reste von unten nach oben; das ergibt 10011100. Der erste Rest gehört zur Einerstelle, daher kehrt das Lesen von oben nach unten die Reihenfolge der Stellen um. Hier würde das 00111001 ergeben, also 57.

Halte die Basis sichtbar

Die tiefgestellte Zahl in 102 bedeutet Basis 2, der Wert ist also zwei. Dieselben Ziffern in 1010 bedeuten zehn. Binärzahlen werden üblicherweise Ziffer für Ziffer gelesen: „eins null“. Das Zählen verläuft 0, 1, 10, 11, 100, 101, 110, 111, 1000; ein Übertrag erfolgt, wenn eine Stelle 2 erreicht. Eine Folge von acht Einsen ist 28−1=255. Das Anhängen einer Null verschiebt jede Stelle nach links und verdoppelt den Wert: Aus 101 wird 1010, aus fünf wird zehn.

Wichtige Erkenntnisse

  • Addiere die Zweierpotenzen, deren Bits 1 sind.
  • Führende Nullen erhalten den Wert; fehlende innere Stellen tun das nicht.
  • Lies die Reste der wiederholten Division vom letzten bis zum ersten.
  • Eine ganze Zahl ist genau dann ungerade, wenn ihr niederwertigstes Bit 1 ist.
  • Das Anhängen einer Null verdoppelt eine ganze Binärzahl ohne feste Bitbreite.

1.3 Hexadezimaldarstellung als lesbare Binärdarstellung

Das Hexadezimalsystem schreibt Zahlen zur Basis 16. Seine Ziffern sind 0–9, gefolgt von A, B, C, D, E und F, die für 10 bis 15 stehen. Eine einzelne Hexadezimalziffer kann jede mögliche Gruppe von vier Bits beschreiben und macht lange Binärmuster leichter lesbar.

Ordne vier Bits einer Ziffer zu

Da 16=24 gilt, entspricht jede Hexadezimalstelle genau vier Binärstellen:

HexadezimalBinärHexadezimalBinär
0000081000
1000191001
20010A1010
30011B1011
40100C1100
50101D1101
60110E1110
70111F1111

Für die Umrechnung von Binär nach Hexadezimal gruppierst du von rechts. Aus dem Muster 10011100 wird 1001 1100, also 0x9C. Ergänze eine kürzere letzte Gruppe links mit führenden Nullen: Aus 101101 wird 0010 1101, also 0x2D. Eine Gruppierung von links als 1011 01 würde die Ziffern an die falschen Stellen setzen.

Für die Rückumrechnung erweiterst du jede Ziffer auf vier Bits. So wird aus 0x3E8 die Folge 0011 1110 1000. Behalte alle vier Bits jeder Gruppe, auch wenn eine Gruppe mit Nullen beginnt. Nur Nullen ganz links in der gesamten Zahl können entfallen, ohne ihren Wert zu ändern.

Nutze die Stellenwerte zur Basis 16

Von rechts nach links sind die hexadezimalen Stellenwerte 1, 16, 256 und 4.096. Multipliziere den Wert jeder Ziffer mit ihrem Stellenwert und addiere. Für 0x2F lautet die Rechnung 2×16+15=47. Für 0x3E8:

3×256+14×16+8=768+224+8=1000

Auch die Umrechnung von Dezimal nach Hexadezimal funktioniert durch wiederholte Division, nun durch 16. Für 1.000 ist der erste Quotient 62 mit Rest 8. Die Division von 62 ergibt den Quotienten 3 mit Rest 14, geschrieben E. Die Division von 3 ergibt den Quotienten 0 mit Rest 3. Lies die Reste von unten nach oben: 3, E, 8.

Die Gruppierung funktioniert aufgrund der Stellenwerte, nicht nur durch eine Zuordnungstabelle. In einer zweistelligen Hexadezimalzahl trägt das linke Nibble seinen Wert mal 16 bei, das rechte seinen Wert mal 1. Auch im Binärsystem multipliziert eine Verschiebung eines Nibbles um vier Stellen nach links seinen Wert mit 16. Dieser gemeinsame Faktor erlaubt es, die beiden Gruppen unabhängig voneinander zu lesen, ohne zuerst die ganze Zahl ins Dezimalsystem umzurechnen.

Erkenne typische Anwendungen

Ein Byte besteht aus zwei Nibbles und entspricht daher genau zwei Hexadezimalziffern, von 0x00 bis 0xFF. Ein Byte-Betrachter kann eine lange Datei hexadezimal viermal kürzer als binär anzeigen und dabei die Gruppengrenzen sichtbar halten.

Webfarben wie #FF8000 verwenden Hexadezimalziffernpaare für Rot, Grün und Blau. Auch Speicheradressen und Unicode-Codepunkte wie U+00E9 verwenden die Hexadezimaldarstellung. Eine MAC-Adresse wie 3C:22:FB:9A:01:7E schreibt sechs Bytes als zwölf Hexadezimalziffern, mit Trennzeichen zwischen den Bytes.

Das Präfix 0x, eine tiefgestellte Basis wie in 2F16 oder das # in einem Farbcode kennzeichnet die Schreibweise. Der Computer speichert dieselben Bits, unabhängig davon, welche Schreibweise ein Mensch nutzt. Insbesondere bedeutet 0x10 sechzehn. Der Wert fünfzehn ist die einzelne Ziffer F; „15“ belegt zwei Hexadezimalstellen und bedeutet einundzwanzig.

Wichtige Erkenntnisse

  • Das Hexadezimalsystem nutzt 0–9 und A–F, wobei A–F für 10–15 stehen.
  • Gruppiere Binärziffern von rechts in Vierergruppen, um hexadezimal umzurechnen.
  • Ein Byte entspricht genau zwei Hexadezimalziffern.
  • Hexadezimale Stellenwerte sind Potenzen von 16; eine andere Schreibweise ändert die gespeicherten Bits nicht.
2

Speichere ganze Zahlen mit fester Bitbreite

Eine feste Anzahl von Bits kann nur eine feste Reihe ganzer Zahlen aufnehmen. Die gewählte Interpretation entscheidet, ob alle Muster nicht negative Werte darstellen oder ob einige für negative Werte stehen. Du wirst dasselbe Byte auf beide Arten lesen, passende Bitbreiten für einen geforderten Darstellungsbereich wählen und verfolgen, was an den Endpunkten geschieht. Das Zweierkomplement erklärt auch, wie negative Werte ihre Bedeutung behalten, wenn ihre Bitbreite wächst.

2.1 Vorzeichenlose Werte und Überlauf

Eine vorzeichenlose Ganzzahl stellt eine nicht negative ganze Zahl dar. Alle ihre Bits haben die üblichen positiven binären Stellenwerte. Die Bitbreite legt fest, wie viele Stellen verfügbar sind. Ein Byte kann also nicht um ein neuntes Bit wachsen, nur weil ein Ergebnis es benötigt.

Bestimme den Darstellungsbereich

Für n Bits gibt es 2n Muster. Beginnt man bei null, ergibt sich der Bereich 0 bis 2n−1. Der größte Wert hat an jeder Stelle eine 1:

BitbreiteVorzeichenloser Darstellungsbereich
8 Bits0–255
16 Bits0–65.535
32 Bits0–4.294.967.295

Die Anzahl der verfügbaren Werte und der größte Wert unterscheiden sich um eins. Acht Bits erlauben 256 Möglichkeiten, aber 256 selbst benötigt neun Stellen, 1 0000 0000.

Ein gespeicherter Wert füllt seine Bitbreite mit führenden Nullen. Zum Beispiel ist 45 mit 16 Bits gleich 0000000000101101 oder 0x002D. Diese Nullen zeigen die Bitbreite an, ohne den Wert zu ändern. Eine negative Zahl hat keine vorzeichenlose Darstellung, unabhängig von der gewählten Bitbreite.

Wähle genügend Stellen

Ein Altersbereich von 0 bis 150 passt in 8 Bits, weil 150 kleiner als 255 ist. Eine Anzahl von 0 bis 100.000 umfasst 100.001 mögliche Werte. Sechzehn Bits bieten nur 65.536 Muster. Siebzehn bieten 131.072, also ist 17 die mathematisch kleinste Bitbreite. Ein Programm, das die üblichen Bitbreiten 8, 16, 32 und 64 verwendet, würde 32 Bits wählen.

Dieselbe Überlegung gilt für jeden beschränkten Zähler: Prüfe den größten Wert, den der Zähler tatsächlich aufnehmen muss, und berücksichtige beide Endpunkte. Ein Bereich von 0 bis 256 benötigt 257 Muster und passt daher nicht in ein Byte.

Eine hilfreiche Prüfung an der Schranke vergleicht benachbarte Bitbreiten. Das vorzeichenlose Maximum für 8 Bits ist 255, für 9 Bits ist es 511. Ein zusätzliches Bit verdoppelt die Anzahl der Muster; das Maximum wird zum Doppelten des alten Maximums plus eins. Dieser Unterschied ist wichtig, wenn eine Anforderung genau auf einer Zweierpotenz liegt: Dieser Endpunkt benötigt eine neue Stelle, obwohl die vorherige Bitbreite ebenso viele Muster hat.

Verfolge ein Ergebnis außerhalb des Bereichs

Überlauf bedeutet, dass ein Ergebnis nicht in die gewählte Darstellung passt. Behält eine 8-Bit-Rechnung nur die acht niederwertigsten Bits, ergibt 255 plus 1 die Folge 1 0000 0000 und speichert 00000000: null. Die zusätzliche Stelle wird verworfen.

Für 200 plus 100 ist das mathematische Ergebnis 300. Bei dieser Bitbreite bleibt der Rest nach einem vollständigen Zyklus von 256 Mustern erhalten: 300−256=44. Das gespeicherte Byte ist 00101100. Dieses Verhalten heißt Wraparound. Es ändert nichts an der rechnerischen Tatsache, dass 200 plus 100 gleich 300 ist; es beschreibt, was der begrenzte Speicher behält.

Das Verhalten bei Überlauf hängt vom System ab. Manche Operationen springen zum Anfang des Bereichs zurück, manche melden einen Fehler und manche Zahlentypen wachsen. Bei einer Aufgabe zum Wraparound muss dieses Verhalten feststehen, bevor du höherwertige Bits verwirfst.

Erkenne feste Bitbreiten in Daten

Eine IPv4-Adresse hat 32 Bits und damit etwa 4,3 Milliarden mögliche Muster. Dieser endliche Adressraum trug dazu bei, dass ein größeres Adressierungssystem nötig wurde. Ein gewöhnlicher RGB-Farbkanal hat 8 Bits, was seine Intensitätsskala von 0–255 erklärt. Das Maximum folgt in beiden Fällen aus der Bitbreite; eine längere dezimale Schreibweise schafft keine zusätzliche Speicherkapazität.

Wichtige Erkenntnisse

  • Eine vorzeichenlose Ganzzahl mit n Bits reicht von 0 bis 2ⁿ − 1.
  • Berücksichtige bei der Wahl einer Bitbreite beide Endpunkte.
  • Führende Nullen füllen eine Bitbreite, ohne einen vorzeichenlosen Wert zu ändern.
  • Überlauf bedeutet, dass ein Ergebnis außerhalb des Darstellungsbereichs liegt.
  • Behält ein System nur die niederwertigsten n Bits, springen vorzeichenlose Werte in Zyklen von 2ⁿ zum Anfang zurück.

2.2 Negative ganze Zahlen im Zweierkomplement

Eine negative Ganzzahl benötigt eine Darstellungsregel, nicht nur ein Minuszeichen neben einem Byte. Das Zweierkomplement gibt dem höchstwertigen Bit einen negativen Stellenwert. Die übrigen Stellen behalten ihre positiven Werte, sodass jedes Muster einen vorzeichenbehafteten Wert und null ein einziges Muster hat.

Vergleiche zwei vorzeichenbehaftete Lesarten

Ein einfacheres Verfahren, die Vorzeichen-Betrag-Darstellung, verwendet das höchstwertige Bit nur für das Vorzeichen und die übrigen Bits für den Betrag. Bei 8 Bits ist +5 gleich 00000101 und −5 gleich 10000101. Es gibt zwei Nullen, 00000000 und 10000000, und die Addition unterschiedlicher Vorzeichen benötigt zusätzliche Regeln.

Im Zweierkomplement mit 8 Bits sind die Stellenwerte −128, 64, 32, 16, 8, 4, 2 und 1. Somit bedeutet 11010011 gleich −128+64+16+2+1=−45. Läse man die anderen sieben Bits als Betrag 83, ergäbe das −83, was zu einer anderen Darstellung gehört.

BitbreiteDarstellungsbereich im Zweierkomplement
8 Bits−128–127
16 Bits−32.768–32.767
32 Bits−2.147.483.648–2.147.483.647

Allgemein ist der Bereich −2n−1 bis 2n−1−1. Null und positive Werte sehen wie gewöhnliche Binärzahlen mit einer führenden 0 aus. Lauter Einsen stellen −1 dar.

Schreibe einen negativen Wert

Um das Vorzeichen eines darstellbaren Werts umzukehren, invertierst du jedes Bit und addierst 1, wobei die Bitbreite fest bleibt. So kodierst du −45 mit 8 Bits:

  1. Schreibe +45 als 00101101.
  2. Invertiere alle acht Bits: 11010010.
  3. Addiere 1: 11010011 oder 0xD3.

Ein Abbruch nach dem Invertieren ergibt −46. Wendest du das gesamte Verfahren auf 11010011 an, erhältst du wieder 00101101 und damit +45.

Ein anderer Weg kodiert −x als vorzeichenlosen Wert 2n−x. Hier gilt 256−45=211, dessen Binärdarstellung 11010011 ist. Das Byte bedeutet daher vorzeichenlos 211 oder vorzeichenbehaftet −45. Die Bits haben sich nicht geändert, der Typ schon.

Das Invertieren mit anschließender Addition lässt sich auch rechnerisch erklären. Für einen positiven Wert x mit n Bits ergibt das Invertieren den vorzeichenlosen Wert 2n−1−x. Die Addition von eins ergibt 2n−x, dessen vorzeichenbehaftete Interpretation −x ist. Das verbindet das bitweise Verfahren mit dem Subtraktionsverfahren und erklärt, warum das Weglassen der abschließenden 1 den falschen negativen Wert ergibt.

Erhalte einen vorzeichenbehafteten Wert mit mehr Bits

Die Vorzeichenerweiterung kopiert das höchstwertige Bit in die neuen Stellen links. −3 mit vier Bits ist 1101; mit 8 Bits ist es 11111101. Der negative höchstwertige Stellenwert und die hinzugefügten positiven Stellenwerte ergeben weiterhin zusammen −3. Das Auffüllen mit Nullen ergäbe 00001101, also +13. Positive Werte werden mit Nullen erweitert: Aus 0011 wird 00000011.

Erkenne die Endpunkte

Das Zweierkomplement erlaubt die gewöhnliche binäre Addition für Ergebnisse, die in den Darstellungsbereich passen. Bei 4 Bits ergibt 0101 plus 1101, also 5 plus −3, die Folge 1 0010. Die vier niederwertigsten Bits ergeben 0010, also 2. So kann dieselbe grundlegende Additionshardware vorzeichenbehaftete und vorzeichenlose Werte verarbeiten.

Anders ist ein Ergebnis außerhalb des Darstellungsbereichs: Bei 8 Bits ergibt 127 plus 1 die Folge 10000000, die als −128 gelesen wird. Außerdem hat −128 bei 8 Bits kein positives Gegenstück. Das Invertieren von 10000000 und die Addition von 1 ergeben wieder 10000000, weil +128 außerhalb des Bereichs liegt. Erweitere die Bitbreite, bevor du diesen positiven Wert bildest.

Wichtige Erkenntnisse

  • Das höchstwertige Bit hat im Zweierkomplement mit n Bits den Stellenwert −2ⁿ⁻¹.
  • Das Zweierkomplement hat eine Null und einen negativen Wert mehr als positive Werte.
  • Kehre das Vorzeichen um, indem du jedes Bit invertierst und innerhalb der festen Bitbreite 1 addierst.
  • Die Vorzeichenerweiterung kopiert das höchstwertige Bit in hinzugefügte Stellen.
  • Der kleinste negative Wert hat bei derselben Bitbreite kein positives Gegenstück.
  • Dasselbe Muster kann vorzeichenbehaftet und vorzeichenlos unterschiedliche Bedeutungen haben.
3

Speichere Brüche und Gleitkommawerte

Rechts vom Binärkomma setzen sich die Stellen als Hälften, Viertel und kleinere Brüche fort. Manche Dezimalbrüche enden im Binärsystem, andere benötigen ein unendliches Muster. Die Festkommadarstellung reserviert eine feste Anzahl von Nachkommastellen; die Gleitkommadarstellung speichert neben einem Signifikanden auch eine Skalierung. Wenn du diese Formate liest, verstehst du ihren großen Darstellungsbereich und ihre Rundungsfehler, darunter das bekannte Ergebnis der Addition von 0,1 und 0,2.

3.1 Binärbrüche und Festkommadarstellung

Die erste Stelle nach dem Binärkomma ist ein Halb. Jede weitere Stelle ist halb so groß wie die vorherige: ein Viertel, ein Achtel, ein Sechzehntel und so weiter. Eine 1 trägt diesen Bruch bei; eine 0 lässt ihn weg. Die Stellen links des Kommas behalten ihre üblichen Zweierpotenzen.

Lies und bilde einen Binärbruch

Bei 101,1012 ist der ganzzahlige Anteil 4 plus 1. Der Nachkommaanteil ist ein Halb plus ein Achtel, also ergibt sich 4+1+0,5+0,125=5,625.

Um einen Dezimalbruch umzurechnen, multiplizierst du ihn wiederholt mit 2. Der ganzzahlige Anteil jedes Ergebnisses ist die nächste Binärziffer; für die nächste Multiplikation behältst du nur den Nachkommaanteil. Für 0,375:

  1. 0,375×2=0,75, also ist das erste Bit 0.
  2. 0,75×2=1,5, also ist das nächste Bit 1; behalte 0,5.
  3. 0,5×2=1,0, also ist das nächste Bit 1 und das Verfahren endet.

Das Ergebnis ist 0,0112. Sein Wert ist ein Viertel plus ein Achtel, also 0,375. Anders als die Reste bei der Division ganzer Zahlen werden diese Bits in der gefundenen Reihenfolge gelesen.

Entscheide, ob die Darstellung endet

Kürze den Bruch vollständig. Er hat genau dann eine endliche Binärdarstellung, wenn sein Nenner eine Potenz von 2 ist. Werte wie 0,5, 0,25, 0,75 und 0,375 erfüllen diese Bedingung. Zum Beispiel ist 0,375 gleich 3/8, und acht ist eine Zweierpotenz.

Die Dezimalzahl 0,1 ist 1/10. Ihr Nenner enthält den Faktor 5, daher wiederholt sich ihre Binärdarstellung: 0,0001100110011…2. So wie ein Drittel im Dezimalsystem nicht enden kann, kann ein Zehntel im Binärsystem nicht enden. Die kurze Schreibweise „0,1“ benötigt daher eine Näherung, wenn nur eine begrenzte Anzahl von Binärstellen verfügbar ist. Dasselbe Problem betrifft 0,2 und 0,3.

Die Nennerregel folgt aus den Stellen selbst. Eine endliche Folge, die an der f-ten Nachkommastelle endet, lässt sich als ganze Zahl geteilt durch 2f schreiben. Das Kürzen dieses Bruchs kann Faktoren von zwei entfernen, aber keinen anderen Primfaktor in den Nenner einführen. Ein gekürzter Nenner, der fünf enthält, kann daher keiner solchen endlichen binären Summe entsprechen.

Reserviere eine feste Skalierung

Eine Festkommadarstellung weist dem Nachkommaanteil eine feste Anzahl von Bits zu. Mit vier Bits für den ganzzahligen Anteil und vier Bits für den Nachkommaanteil bedeutet 0110,1000 den Wert 6,5. Die kleinste Schrittweite ist 2−4=0,0625 und der größte vorzeichenlose Wert ist 1111,1111, also 15,9375.

Gleichwertig dazu wird die gespeicherte acht Bit breite Ganzzahl um den Faktor 1/16 skaliert. Das Muster 01101000 hat den vorzeichenlosen Wert 104; die Division durch 16 ergibt 6,5. Das Komma ist Teil der Interpretation und muss daher nicht als zusätzliches Zeichen gespeichert werden.

Behält man insgesamt acht Bits, verwendet aber fünf für den ganzzahligen Anteil und drei für den Nachkommaanteil, beträgt die Schrittweite 0,125 und das Maximum 31,875. Der Darstellungsbereich wächst, aber die Abstände werden größer. Die Festkommadarstellung stellt Vielfache ihrer Schrittweite innerhalb ihres Bereichs exakt dar.

Eine genaue Anzahl von Cent nutzt eine verwandte Skalierungsidee: Aus 19,99 Geldeinheiten wird die Ganzzahl 1999 Cent. Für Messwerte sehr unterschiedlicher Größen speichert die Gleitkommadarstellung eine bewegliche Skalierung. Dadurch deckt dieselbe Bitbreite einen viel größeren Bereich ab als die Festkommadarstellung.

Wichtige Erkenntnisse

  • Die Stellen von Binärbrüchen haben die Werte 1/2, 1/4, 1/8 und so weiter.
  • Multipliziere einen Nachkommaanteil mit 2 und lies die ganzzahligen Anteile der Reihe nach.
  • Ein gekürzter Bruch hat genau dann eine endliche Binärdarstellung, wenn sein Nenner eine Potenz von 2 ist.
  • Bei fester Gesamtbitbreite besteht in der Festkommadarstellung ein Zielkonflikt zwischen Darstellungsbereich und Auflösung der Nachkommastellen.

3.2 Lies und schreibe IEEE-754-Felder

Die Gleitkommadarstellung schreibt einen Wert in wissenschaftlicher Binärschreibweise. Zum Beispiel ist 6,25 gleich 110,012=1,10012×22. Der vordere Teil ist der Signifikand, und der Exponent legt seine Skalierung fest. IEEE 754 definiert weit verbreitete Formate zum Speichern dieser Teile.

Lerne die Felder kennen
FormatInsgesamtVorzeichenExponentNachkommaanteilBias
Einfach, binary3232 Bits1823127
Doppelt, binary6464 Bits111521023

Für einen normalen Wert lautet die Interpretation (−1)s×(1,f)2×2E−Bias. Dabei ist s das Vorzeichenbit, E der vorzeichenlose gespeicherte Exponent und f das Nachkommafeld. Ein Vorzeichenbit von 0 bedeutet positiv; 1 bedeutet negativ. Wird nur das Vorzeichenbit geändert, kehrt sich das Vorzeichen eines Gleitkommawerts um.

Der gespeicherte Exponent entspricht dem tatsächlichen Exponenten plus dem Exponentenbias. Bei einfacher Genauigkeit wird Exponent 2 zu 129, also 10000001; Exponent −3 wird zu 124, also 01111100. Normale gespeicherte Exponenten reichen von 1 bis 254 und stellen −126 bis 127 dar.

Ein normaler binärer Signifikand beginnt immer mit 1, daher lässt das Format dieses implizite Bit weg. Nur die Bits nach dem Komma gelangen in das Nachkommafeld. Das ergibt 24 signifikante Binärstellen bei einfacher und 53 bei doppelter Genauigkeit.

Kodiere −6,25 Schritt für Schritt

Normalisiere zunächst den Betrag: 110,012=1,10012×22. Fülle dann die Felder:

  1. Negativer Wert: Vorzeichen 1.
  2. Exponent 2: Addiere 127 und erhalte 129, geschrieben 10000001.
  3. Nachkommaanteil ,1001: Speichere 1001 gefolgt von 19 Nullen.

Das Ergebnis ist 1 10000001 10010000000000000000000 oder 0xC0C80000. Der Nachkommaanteil wird rechts aufgefüllt, weil diese Stellen nach dem Komma fortgesetzt werden. Würde die führende 1 gespeichert, verschöbe sich die Bedeutung des Nachkommaanteils.

Ein negativer tatsächlicher Exponent verschiebt die Skalierung unter eins. Für 0,15625 lautet die Binärdarstellung 0,001012=1,012×2−3. Das Vorzeichen in binary32 ist 0 und der gespeicherte Exponent 124, also 01111100. Der Nachkommaanteil beginnt mit 01 und wird rechts aufgefüllt. Die implizite 1 gehört weiterhin zum normalisierten Signifikanden, obwohl die gesamte Zahl kleiner als eins ist.

Dekodiere ein Muster

Das Muster 0x41200000 bei einfacher Genauigkeit zerfällt in 0 10000010 01000000000000000000000. Das Vorzeichen ist positiv. Das Exponentenfeld ist 130, also subtrahierst du 127 und erhältst 3. Ergänze die implizite 1 und erhalte 1,012=1,25. Schließlich gilt 1,25×23=10.

Prüfe zuerst reservierte Exponenten

Die Formel für normale Werte beschreibt nicht jedes Muster:

ExponentenfeldNachkommafeldBedeutung
Nur NullenNull+0 oder −0, je nach Vorzeichen
Nur NullenVon null verschiedenEine subnormale Zahl mit führender 0
Nur EinsenNullPositiv oder negativ unendlich
Nur EinsenVon null verschiedenNaN, „keine Zahl“

Subnormale Zahlen stellen sehr kleine Werte ohne die implizite 1 dar. NaN kann aus einer ungültigen numerischen Operation wie 0 geteilt durch 0 entstehen. IEEE 754-2019 definiert diese Formate.

Wichtige Erkenntnisse

  • Einfache Genauigkeit hat Felder mit 1, 8 und 23 Bits; doppelte Genauigkeit mit 1, 11 und 52 Bits.
  • Subtrahiere beim Dekodieren den Exponentenbias; addiere ihn beim Kodieren.
  • Normale Werte haben eine führende 1, die nicht gespeichert wird.
  • Fülle das Nachkommafeld rechts mit Nullen auf.
  • Exponentenfelder aus lauter Nullen oder lauter Einsen haben besondere Bedeutungen.
  • Vorzeichen- und Exponentenfeld einer Gleitkommazahl bilden keine Ganzzahl im Zweierkomplement.

3.3 Darstellungsbereich, Darstellungsgenauigkeit und Rundungsfehler

Ein Gleitkommaformat kann einen riesigen Bereich abdecken, ohne jeden Wert darin darzustellen. Der Exponent bestimmt die Skalierung; das Nachkommafeld bestimmt, wie viele signifikante Bits benachbarte Werte unterscheiden. Darstellungsbereich und Darstellungsgenauigkeit beantworten unterschiedliche Fragen.

Vergleiche einfache und doppelte Genauigkeit

Einfache Genauigkeit reicht bis etwa 3,4×1038 und hat etwa sieben signifikante Dezimalstellen. Ihr kleinster positiver normaler Wert beträgt etwa 1,18×10−38. Doppelte Genauigkeit reicht bis etwa 1,8×10308, hat etwa 15–16 signifikante Dezimalstellen und einen kleinsten positiven normalen Wert von etwa 2,2×10−308. Subnormale Zahlen reichen in jedem Format unter das normale Minimum.

Signifikante Stellen werden ab der ersten aussagekräftigen Ziffer gezählt, nicht ab dem Dezimalkomma. Ein großer Exponent erzeugt keine zusätzlichen Bits im Nachkommafeld. Bei einfacher Genauigkeit beträgt der Abstand oberhalb von 1 genau 2−23≈1,19×10−7. Zwischen 224 und 225 beträgt der Abstand 2, sodass die Ganzzahl 16.777.217 nicht darstellbar ist, obwohl sie weit unter dem größten endlichen Wert liegt.

Runde auf einen passenden Wert

Die Standardregel von IEEE 754 lautet Runden zum nächsten Wert, bei Gleichstand zur geraden Endziffer. Wähle den näheren darstellbaren Wert; liegt der Wert genau in der Mitte, wähle den, dessen letztes behaltenes Signifikandbit gerade ist. So wird 16.777.217 bei einfacher Genauigkeit auf 16.777.216 gerundet.

Die Differenz zwischen dem beabsichtigten und dem gespeicherten Wert ist der Rundungsfehler. Bei einfacher Genauigkeit wird 0,1 als 0,100000001490116119384765625 gespeichert. Bei doppelter Genauigkeit ist es ungefähr 0,10000000000000000555. Eine höhere Darstellungsgenauigkeit verringert diesen Fehler, kann aber eine periodische Darstellung nicht zum Enden bringen.

Verstehe ein bekanntes Ergebnis

Bei gewöhnlicher Rechnung mit doppelter Genauigkeit nach IEEE 754 erzeugt die Addition von 0,1 und 0,2 ein gespeichertes Ergebnis, das häufig als 0.30000000000000004 angezeigt wird. Es unterscheidet sich von der gespeicherten Näherung für 0,3, daher ist 0.1 + 0.2 == 0.3 in Sprachen wie Python und JavaScript falsch. Vergleiche bei Messergebnissen die Differenz mit einer Toleranz, die zur Größenordnung und zum Zweck der Aufgabe passt.

Viele Werte sind exakt. Doppelte Genauigkeit speichert jede ganze Zahl von −253 bis 253 exakt. Werte wie 0,5 und 0,375 haben ebenfalls kurze Binärdarstellungen, die sowohl in den Signifikanden als auch in den Exponentenbereich passen.

Wähle einen geeigneten Zahlentyp

Für Anzahlen und Kennungen eignen sich Ganzzahlen. Für exakte Geldbeträge eignen sich ganze Untereinheiten wie Cent oder ein Dezimalzahlentyp. Für Messungen und wissenschaftliche Berechnungen eignen sich oft Gleitkommazahlen. Ein Betrag, der für das Format zu groß ist, kann zu unendlich überlaufen; nach der Standardrundungsregel wird 1039 bei einfacher Genauigkeit zu positiv unendlich. Sehr kleine Ergebnisse können subnormal werden oder auf null gerundet werden.

Darstellungskonventionen sind von der Speicherung getrennt. Die Schreibweisen „3.14“ und „3,14“ können in verschiedenen Ländern dieselbe Zahl bezeichnen. Ein Programm, das Text liest, muss die jeweilige Konvention kennen; andernfalls könnte es das Komma zurückweisen oder den Wert als 314 lesen. Eine Änderung des gedruckten Trennzeichens verbessert die binäre Darstellungsgenauigkeit nicht.

Wichtige Erkenntnisse

  • Der Darstellungsbereich bestimmt die Größenordnung; die Darstellungsgenauigkeit bestimmt den Abstand benachbarter Werte.
  • Die Abstände zwischen Gleitkommawerten wachsen mit ihrem Betrag.
  • Die Standardregel rundet zum nächsten Wert, bei genauem Gleichstand zum Wert mit geradem letzten Bit.
  • Ein kurzer Dezimalbruch kann im Binärsystem dennoch Rundung benötigen.
  • Wähle passend zur Aufgabe eine Speicherung als Ganzzahl, Dezimalzahl oder Gleitkommazahl.
4

Wandle Zeichen in Codes und Bytes um

Bei Text müssen sich die schreibende und die lesende Software an dieselbe Vereinbarung halten. ASCII gibt einer kleinen Auswahl von Zeichen numerische Codes. Unicode stellt einen gemeinsamen Codebereich für viele Schriftsysteme bereit, während Kodierungen wie UTF-8 die tatsächlichen Bytes festlegen. Die Unterscheidung zwischen einem angezeigten Zeichen, einem Codepunkt und einem Byte hilft dir, Textgrößen zu berechnen und zu erklären, warum eine korrekt gespeicherte Datei als Zeichensalat erscheinen kann.

4.1 ASCII-Codes und ihre Grenzen

Um Text zu speichern, weist ein System Zeichen numerische Codes zu und schreibt diese Zahlen als Bits. Ein Zeichencode funktioniert nur, wenn beim Lesen dieselbe Vereinbarung gilt wie beim Schreiben. Das Byte für einen Buchstaben ist eine kodierte Kennzeichnung, kein winziges Bild dieses Buchstabens.

Lies die ASCII-Tabelle

ASCII, der American Standard Code for Information Interchange, wurde erstmals 1963 veröffentlicht. Er verwendet 7 Bits für 128 Codes mit den Nummern 0–127. Bei byteweiser Speicherung füllt ein ASCII-Code üblicherweise ein Byte mit einer führenden 0.

CodesBedeutung
0–31 und 127Steuerzeichen
32Leerzeichen
48–57Ziffern „0“–„9“
65–90Großbuchstaben „A“–„Z“
97–122Kleinbuchstaben „a“–„z“

Satzzeichen belegen die Lücken. Die Codes 32–126 bilden 95 druckbare Zeichen einschließlich des Leerzeichens. Steuerzeichen beeinflussen die Textverarbeitung, ohne ein sichtbares Zeichen zu drucken: Der Tabulator ist 9, der Zeilenvorschub 10 und der Wagenrücklauf 13.

Kodiere eine kurze Zeichenkette

Der Text „Hi!“ hat drei Zeichen. Ihre Dezimalcodes sind 72, 105 und 33; hexadezimal sind es 0x48, 0x69 und 0x21. Als vollständige Bytes wird der Text zu 01001000 01101001 00100001. Das Ausrufezeichen benötigt ebenso wie die Buchstaben einen Code.

Der Code eines ASCII-Kleinbuchstabens liegt um 32 über dem seines Großbuchstabens. „A“ ist 65 oder 01000001, während „a“ 97 oder 01100001 ist. Dieses eine veränderte Bit macht den Unterschied aus. Die Reihenfolge setzt außerdem alle Großbuchstaben vor alle Kleinbuchstaben. Eine einfache Sortierung nach Code setzt daher „Zebra“ vor „apfel“; sie folgt nicht der üblichen Wörterbuchreihenfolge.

Unterscheide ein Ziffernzeichen von einer Zahl

Das Zeichen „7“ hat den Dezimalcode 55 und das Byte 00110111. Die Ganzzahl 7 hat das Byte 00000111. Um den Zahlenwert einer Ziffer aus ihrem ASCII-Code zu erhalten, subtrahierst du 48, den Code für „0“: 55−48=7. Das funktioniert, weil die zehn Zifferncodes aufeinanderfolgen.

Der Speicherbedarf hängt von der gewählten Darstellung ab. Der Text „2026“ benötigt vier ASCII-Bytes, eines pro Ziffer. Die Ganzzahl 2026 passt als vorzeichenloser 16-Bit-Wert in zwei Bytes. Text erhält die Zeichenfolge; eine Ganzzahl stellt den Zahlenwert dar. So kann eine textuelle Kennung etwa führende Nullen erhalten, die bei einer Ganzzahl keinen Unterschied machen.

Um eine längere Zeichenkette zu kodieren, verarbeitest du jedes Zeichen der Reihe nach, einschließlich Leerzeichen, Satzzeichen und Steuerzeichen. Beim Dekodieren wird unter derselben Tabelle jeder Code einzeln zurückübersetzt. Die Reihenfolge ist wichtig: Das Vertauschen zweier gültiger Codes kann weiterhin gültiges ASCII ergeben, erzeugt aber anderen Text. Eine erfolgreiche Zuordnung zeigt, dass Codes erkannt werden, nicht aber, dass sie die beabsichtigte Reihenfolge oder Bedeutung haben.

Erkenne, warum Codeseiten Probleme verursachten

ASCII enthält keine Buchstaben mit Akzenten oder Umlauten wie „é“, „ñ“ oder „ü“ und keine griechischen, kyrillischen, arabischen oder chinesischen Zeichen. Spätere 8-Bit-Codeseiten nutzten die Werte 128–255 für zusätzliche Zeichen, stimmten aber bei diesen Ergänzungen nicht überein.

Zum Beispiel bedeutet das Byte 0xE9 in Latin-1 „é“, in Windows-1251 aber „й“. Windows-1252 ist eine weitere gebräuchliche Codeseite. Ein Bytewert kann daher ein Nicht-ASCII-Zeichen nicht eindeutig bestimmen, ohne dass die Kodierung bekannt ist. Eine falsche Tabelle kann lesbar wirkende Zeichen erzeugen, die dennoch den falschen Text ergeben.

Wichtige Erkenntnisse

  • ASCII definiert 128 Codes mit 7 Bits, die üblicherweise einzeln in einem Byte gespeichert werden.
  • Druckbare Zeichen umfassen Leerzeichen und Satzzeichen; Steuerzeichen haben andere Aufgaben.
  • Ziffernzeichen haben andere Codes als die Ganzzahlen, die sie bezeichnen.
  • Verschiedene ältere Codeseiten können demselben Byte unterschiedliche Zeichen zuweisen.

4.2 Unicode-Codepunkte und UTF-Kodierungen

Unicode weist Zeichen aus Schriftsystemen der ganzen Welt Nummern aus einem gemeinsamen Bereich zu, die Codepunkte heißen. „A“ ist U+0041, „é“ ist U+00E9, „Ж“ ist U+0416, „中“ ist U+4E2D und „😀“ ist U+1F600. Die U+-Schreibweise verwendet Hexadezimalzahlen mit mindestens vier Ziffern.

Unterscheide einen Codepunkt von seinen Bytes

Der Codebereich reicht von U+0000 bis U+10FFFF, umfasst also 1.114.112 Positionen, mit mehr als 150.000 zugewiesenen Zeichen. Ein Codepunkt bezeichnet ein Zeichen oder eine reservierte Position; eine Zeichenkodierung bestimmt seine Darstellung als Bytes.

KodierungSpeicherbedarf für einen gültigen Zeichencodepunkt
UTF-81–4 Bytes
UTF-162 Bytes bis U+FFFF; 4 Bytes darüber
UTF-324 Bytes

Der Surrogatbereich U+D800–U+DFFF ist für den Paarungsmechanismus von UTF-16 reserviert; einzelne Surrogate sind keine gültigen Zeichen, die in diesen Formen kodiert werden können. Ein Paar von UTF-16-Codeeinheiten stellt einen ergänzenden Codepunkt dar. Zum Beispiel ist „😀“ in UTF-16 D83D DE00.

Lies die UTF-8-Bytebereiche

UTF-8 erhält ASCII: U+0000–U+007F benötigen ein Byte. U+0080–U+07FF benötigen zwei; gültige Zeichencodepunkte von U+0800–U+FFFF benötigen drei; U+10000–U+10FFFF benötigen vier. Dadurch ist englischer ASCII-Text Byte für Byte mit UTF-8 kompatibel.

Ein Zeichen mit einem Byte beginnt mit 0. Längere Zeichen beginnen bei zwei, drei oder vier Bytes mit 110, 1110 beziehungsweise 11110. Jedes Fortsetzungsbyte beginnt mit 10. Die übrigen Bits tragen den Codepunkt.

Für „é“, U+00E9, lautet der Wert mit 11 Bits 00011101001. Teile ihn in fünf und sechs Bits: 00011 und 101001. Setze sie in 110xxxxx 10xxxxxx ein und erhalte 11000011 10101001 oder C3 A9. Der Codepunkt 00E9 ist nicht selbst die UTF-8-Bytefolge.

Auch beim Kodieren und Dekodieren müssen die Bytepräfixe beachtet werden. Ein UTF-8-Fortsetzungsbyte ist kein eigenständiges ASCII-Byte: Seine ersten beiden Bits sind 10, es gehört also zu einer längeren Zeichenfolge. Wird an einer Bytegrenze ein Teil eines Mehrbytezeichens entfernt, kann eine unvollständige Folge zurückbleiben. Die Speicherlänge und die Grenzen, an denen Text geteilt werden kann, hängen daher zusammen.

Zähle die richtigen Einheiten

„café“ hat vier angezeigte Zeichen, aber fünf UTF-8-Bytes: 63 61 66 C3 A9. „€“ verwendet E2 82 AC, also drei Bytes; „中“ verwendet E4 B8 AD, ebenfalls drei; „😀“ verwendet F0 9F 98 80, also vier. Eine Bytegrenze kann daher weniger Zeichen zulassen, als ihr Zahlenwert nahelegt.

Ein angezeigtes Zeichen kann auch mehrere Codepunkte enthalten. „é“ kann U+00E9 sein oder „e“ gefolgt von U+0301, einem kombinierenden Akut. Die zweite Form benötigt drei UTF-8-Bytes, 65 CC 81. Die Unicode-Normalisierung wandelt gleichwertige Folgen zum Vergleich in eine gemeinsame Form um. Das angezeigte Emoji „👍🏽“ enthält zwei Codepunkte, U+1F44D und U+1F3FD, und benötigt insgesamt acht UTF-8-Bytes.

Untersuche Zeichensalat

Wird das UTF-8-Wort „café“ als Windows-1252 gelesen, wird daraus „café“: C3 und A9 werden als getrennte Zeichen behandelt. Dieser Zeichensalat entsteht durch Dekodieren mit der falschen Kodierung. Korrektes Dekodieren kann den Text wiederherstellen, solange die ursprünglichen Bytes intakt bleiben. Eine Webseite kann ihre Kodierung mit <meta charset="utf-8"> angeben.

Wichtige Erkenntnisse

  • Ein Codepunkt bezeichnet ein Zeichen; eine Kodierung bestimmt seine Bytes.
  • UTF-8 verwendet ein bis vier Bytes und erhält ASCII unverändert.
  • Fortsetzungsbytes in UTF-8 beginnen mit 10.
  • Ein angezeigtes Zeichen, ein Codepunkt und ein Byte sind unterschiedliche Zähleinheiten.
  • Die Unicode-Normalisierung kann gleichwertige Zeichenfolgen in dieselbe Form bringen.
  • Dekodieren mit der falschen Kodierung kann Zeichensalat erzeugen.
5

Miss Bilder und Ton in Bits

Bilder und Aufnahmen wandeln visuelle und akustische Details in Zahlen um. Eine Rastergrafik speichert ein Raster von Pixelwerten; abgetasteter Ton speichert Messwerte, die in regelmäßigen Abständen aufgenommen werden. Ihr Speicherbedarf hängt davon ab, wie viele Werte gespeichert werden und wie viele Bits jeder Wert benötigt. Diese Entscheidungen beeinflussen auch, welche Details erhalten bleiben. Vektorzeichnungen und MIDI verfolgen einen anderen Ansatz: Sie beschreiben Formen oder Noten als Anweisungen, die ein Gerät später in ein Bild oder Ton umwandelt.

5.1 Pixel, RGB, Farbpaletten und Transparenz

Eine Rastergrafik ist ein Raster aus Pixeln. Jedes Pixel enthält einen Farbwert. Breite und Höhe geben die Auflösung des Bildes an: 1920 mal 1080 bedeutet 1920×1080=2.073.600 Pixel. Die Pixelanzahl beschreibt das Raster, nicht seine gedruckte Größe in Metern.

Weise jedem Pixel genügend Bits zu

Die Farbtiefe ist die Anzahl der Bits, die für die Farbe eines Pixels verwendet werden. Eine Tiefe von k Bits erlaubt 2k mögliche Codes. Ein Bit kann zwei Farben unterscheiden. Graustufen mit acht Bits können 256 Intensitäten unterscheiden, üblicherweise von 0 für Schwarz bis 255 für Weiß.

Ein einfaches Bild mit 3 mal 3 Pixeln kann 1 für Schwarz und 0 für Weiß verwenden. Ein schwarzes Pluszeichen wird durch die Zeilen 010, 111 und 010 dargestellt. Neun Pixel mit je einem Bit benötigen neun Bits an Pixelinformationen. Die tatsächliche Speicherung einer Datei kann über diese Bits hinaus Füllbits und andere Informationen enthalten.

Mische Licht mit RGB

RGB speichert die Intensitäten von rotem, grünem und blauem Licht. Mit 8 Bits pro Kanal reicht jede Intensität von 0 bis 255, und ein Pixel benötigt 24 Bits. Die Anzahl der möglichen Farben ist 2563=224=16.777.216.

RGB-WerteFarbe
(0, 0, 0)Schwarz
(255, 255, 255)Weiß
(255, 0, 0)Rot
(0, 0, 255)Blau
(255, 255, 0)Gelb

RGB ist die additive Mischung von Licht. Rotes und grünes Licht ergeben zusammen Gelb. Eine Vorhersage anhand des Mischens von Malfarben beruht auf einem anderen Vorgang und liefert das falsche Modell für einen Bildschirm.

Lies Hexadezimalfarbcodes

Eine Webfarbe verwendet #RRGGBB: zwei Hexadezimalziffern für Rot, dann Grün, dann Blau. #FF8000 bedeutet (255, 128, 0), ein Orange. #808080 bedeutet (128, 128, 128), ein mittleres Grau; gleiche Kanalwerte ergeben ein Grau. #0000FF ergibt den größten Blauwert bei Rot und Grün gleich null.

Jedes Paar ist ein Byte. Daher ist FF gleich 255 und kein Paar getrennter Farbintensitäten. Das # kennzeichnet den gesamten RGB-Code und belegt keinen Kanal.

Das RGB- und das Palettenmodell lösen das Nachschlagen eines Pixelwerts unterschiedlich. Bei direktem RGB liefert das Lesen des Pixels sofort seine drei Kanalintensitäten. Bei indizierter Farbe liefert es eine Eintragsnummer, und ein zweites Nachschlagen liefert die Intensitäten. Eine Änderung eines Paletteneintrags kann daher viele angezeigte Pixel mit demselben Index ändern, selbst wenn ihre gespeicherten Pixelindizes unverändert bleiben.

Speichere einen Palettenindex

Wenn ein Bild wenige Farben verwendet, kann es eine Farbpalette speichern, eine Tabelle der ausgewählten Farben. Ein Pixel speichert dann einen Index in dieser Tabelle. Eine Palette mit 16 Farben benötigt vier Bits pro Pixel, weil vier Bits 16 Einträge unterscheiden. Die Palette selbst benötigt ebenfalls Speicherplatz. GIF verwendet bis zu 256 Palettenfarben und erlaubt damit einen 8-Bit-Index pro Pixel.

Füge Transparenz hinzu

Ein Alphakanal beschreibt die Deckkraft. Eine übliche 8-Bit-Skala verwendet 0 für vollständig transparent und 255 für vollständig deckend; Zwischenwerte stehen für teilweise Transparenz. Fügt man diesen Kanal zu 24-Bit-RGB hinzu, erhält man 32-Bit-RGBA. Alpha ist von Rot, Grün und Blau getrennt: Ein vollständig transparentes Pixel kann weiterhin gespeicherte Farbwerte haben, die im endgültigen Bild nicht sichtbar sind.

Wichtige Erkenntnisse

  • Eine Rastergrafik speichert ein Raster von Pixelwerten.
  • Die Farbtiefe bestimmt die Anzahl der verfügbaren Farbcodes pro Pixel.
  • Gewöhnliches RGB verwendet drei Kanäle mit je 8 Bits, insgesamt 24 Bits.
  • Ein Palettenindex wählt eine Farbe aus einer Tabelle aus.
  • Ein Alphakanal ergänzt Informationen zur Deckkraft; 8-Bit-Alpha macht aus RGB ein 32-Bit-RGBA.

5.2 Berechne den Speicherbedarf von Bildern und Videos

Die Pixeldaten einer unkomprimierten Rastergrafik wachsen mit ihrer Pixelanzahl und den Bits pro Pixel. Wenn du die Einheiten bei jedem Schritt mitführst, kannst du die Informationsmenge von der Bytegröße unterscheiden, die ein Dateibetrachter anzeigt.

Berechne die Pixeldaten

Verwende Bits=Breite×Ho¨he×Bits pro Pixel. Dividiere für die Anzahl der Bytes durch 8. Breite und Höhe müssen multipliziert werden, weil jede Zeile über die gesamte Breite Pixel enthält.

Bei 1920 mal 1080 mit 24 Bits pro Pixel erhältst du zunächst 2.073.600 Pixel. Multipliziere mit 24 für 49.766.400 Bits und dividiere dann durch 8 für 6.220.800 Bytes. Das sind etwa 6,2 MB oder 5,93 MiB. Der Einheitenwechsel ändert die zugrunde liegenden Pixeldaten nicht.

Bei 640 mal 480 mit 8-Bit-Graustufen gibt es 307.200 Pixel. Je acht Bits ergeben 2.457.600 Bits; die Division durch 8 ergibt 307.200 Bytes, etwa 307 kB. Hier ist die endgültige Anzahl der Bytes gleich der Pixelanzahl, weil jedes Pixel ein Byte benötigt.

Sage Änderungen vor dem Rechnen voraus

Eine Verdopplung der Breite verdoppelt die Pixel in jeder Zeile. Eine Verdopplung der Höhe verdoppelt die Zeilen. Werden beide verdoppelt, vervierfachen sich daher Pixelanzahl und Speicherbedarf. Eine Erhöhung der Farbtiefe von 8 auf 24 Bits pro Pixel verdreifacht den Speicherbedarf bei gleicher Auflösung. Ändern sich beide Größen, werden diese Faktoren multipliziert.

Die direkte Rechnung ergibt die Pixeldaten, nicht unbedingt eine vollständige Bilddatei. Eine Datei speichert auch Metadaten, etwa Breite, Höhe, Farbtiefe und Format. Ein Foto kann Kameraeinstellungen, Datum und Ort enthalten. Auch Palettentabellen, Dateiköpfe, Füllbits und Kompression können die endgültige Größe in Bytes verändern.

Berechne bei Farbtiefen unter acht Bits vor dem Umrechnen die gesamten Nutzdaten in Bits. Ein 1-Bit-Bild mit 100 mal 60 Pixeln enthält 6.000 Pixelbits oder 750 gepackte Bytes. Würde man jedes Pixel als ein Byte behandeln, überschätzte man diese Nutzdaten um das Achtfache. Wenn ein Format jede Zeile bis zu einer bestimmten Grenze auffüllt, müssen diese Füllbits gesondert hinzugefügt werden; die Farbtiefe ändert sich dadurch nicht.

Erweitere die Rechnung auf Video

Ein Video zeigt eine Folge von Bildern, die Einzelbilder heißen. Bei 30 Einzelbildern pro Sekunde benötigt ein RGB-Video mit 1920 mal 1080 pro Sekunde 6.220.800×30=186.624.000 Bytes unkomprimierte Bilddaten, etwa 187 MB/s. Die Multiplikation mit der Dauer ergibt die gesamten Bilddaten. Ton benötigt zusätzlichen Speicherplatz.

Diese große Datenrate erklärt, warum gewöhnliche Videodateien komprimiert werden. Die Datenrate eines komprimierten Videos ist eine eigene Größe; sie lässt sich nicht allein aus der Auflösung ableiten.

Vergleiche Raster- und Vektorgrafiken
RastergrafikVektorgrafik
Speichert ein Raster aus FarbwertenSpeichert Formen und Zeichenanweisungen
Eignet sich für Fotos und TexturenEignet sich für Logos, Diagramme und Schriftumrisse
Beim Vergrößern des Rasters werden Pixel sichtbarFormen können in größerem Maßstab neu gezeichnet werden

Eine Vektordatei kann eine Linie von (0|0) nach (100|50) oder einen Kreis durch Mittelpunkt, Radius und Füllung beschreiben. Sie muss nicht für jeden Punkt innerhalb des Kreises einen eigenen Farbwert speichern. Einfache Zeichnungen können daher klein sein. SVG ist ein gängiges Vektorformat.

Ein Bildschirm benötigt trotzdem Pixel. Die Rasterung wandelt die Formen in ein Pixelraster der gewünschten Größe um. Das Skalieren von Vektoranweisungen erhält die Geometrie der Form; das Vergrößern einer vorhandenen Rastergrafik kann keine Bilddetails zurückgewinnen, die ihr ursprüngliches Raster nie aufgezeichnet hat.

Wichtige Erkenntnisse

  • Die Bits einer unkomprimierten Rastergrafik entsprechen Breite × Höhe × Bits pro Pixel.
  • Dividiere Bits durch 8, bevor du Bytes angibst.
  • Die Verdopplung beider Abmessungen vervierfacht die Pixeldaten bei gleicher Farbtiefe.
  • Unkomprimierte Videobilddaten entsprechen Bytes pro Einzelbild × Bildrate × Dauer.
  • Durch Metadaten und Kompression unterscheidet sich die Dateigröße vom Ergebnis einer reinen Pixelrechnung.
  • Vektorgrafiken speichern Formen, die für die Anzeige gerastert werden.

5.3 Taste Ton ab und berechne die Größe der Audiodaten

Schall ist eine Schwingung des Luftdrucks. Ein Mikrofon wandelt ihn in ein analoges elektrisches Signal um, das sich kontinuierlich verändert. Ein Analog-Digital-Wandler nimmt in regelmäßigen Abständen Messungen vor und speichert jeden Abtastwert als Zahl.

Unterscheide Zeitauflösung und Messgenauigkeit

Die Abtastrate, gemessen in Hertz, ist die Anzahl der Abtastwerte pro Sekunde und Kanal. Eine Rate von 44.100 Hz entspricht 44,1 kHz. CDs verwenden 44,1 kHz, Videotonspuren üblicherweise 48 kHz und herkömmliche Telefonübertragungen 8 kHz. Die Abtastwerte halten Werte zu diesen Zeitpunkten fest; sie zeichnen nicht jeden dazwischenliegenden Moment kontinuierlich auf.

Die Bittiefe bestimmt, wie viele Stufen jedem Abtastwert zur Verfügung stehen. Acht Bits ergeben 256 Stufen, 16 ergeben 65.536 und 24 ergeben 16.777.216. Das Runden eines Messwerts auf eine Stufe heißt Quantisierung. Die Differenz zum ursprünglichen Messwert erzeugt einen Quantisierungsfehler, der als Rauschen hörbar sein kann. Mehr Bits ermöglichen feinere Stufen und verringern diesen Fehler.

Die Abtastrate bestimmt die zeitliche Auflösung; die Bittiefe bestimmt die Auflösung der gemessenen Amplitude. Eine Erhöhung der einen ersetzt keine Erhöhung der anderen.

Erfasse den Frequenzbereich

Das Abtasttheorem verlangt eine Abtastrate, die mehr als doppelt so hoch ist wie die höchste zu erfassende Frequenz. Um 20 kHz zu erfassen, muss die Rate über 40 kHz liegen. Genau das Doppelte reicht für ein beliebiges Signal an dieser Grenze nicht aus.

Bei 44,1 kHz liegt die theoretische Grenze unter 22,05 kHz. Der Abstand oberhalb von etwa 20 kHz, der ungefähren oberen menschlichen Hörgrenze, lässt Raum für einen Anti-Aliasing-Filter. Frequenzen oberhalb der halben Abtastrate können als falsche tiefere Frequenzen erscheinen; dieser Effekt heißt Aliasing. Ein Wandler filtert diese hohen Frequenzen vor der Abtastung heraus.

Eine Rate von 44.100 Hz gilt für jeden Kanal, nicht für die Aufnahme als zusammengefassten Datenstrom. Stereo speichert daher 88.200 Abtastwerte pro Sekunde. Der Kanalfaktor gehört in die Speicherformel, weil jeder Zeitpunkt einen linken und einen rechten Wert hat. Er verdoppelt nicht die höchste Frequenz, die jeder Kanal erfassen kann; diese Grenze folgt weiterhin aus seiner eigenen Abtastrate.

Berechne unkomprimierte Audiodaten

Mono hat einen Kanal; Stereo hat zwei. Die Größe der Nutzdaten ist

Bits=Abtastrate×Bittiefe×Kana¨le×Sekunden

Für eine Stereoaufnahme von drei Minuten bei 44.100 Hz und 16 Bits beträgt die Rate 44.100×16×2=1.411.200 bit/s. Multipliziere mit 180 Sekunden für 254.016.000 Bits und dividiere dann durch 8: 31.752.000 Bytes, etwa 31,8 MB.

Eine Monoaufnahme von zehn Sekunden bei 8.000 Hz und 8 Bits ergibt 8.000×8×1×10=640.000 Bits oder 80.000 Bytes. Eine Stereoaufnahme mit denselben Einstellungen würde doppelt so viel benötigen.

Wähle, was gespeichert wird

Höhere Abtastraten und Bittiefen benötigen mehr Platz. CD-Einstellungen reichen zum Anhören im Allgemeinen aus; Studios verwenden oft 24 Bits und 48 kHz oder mehr, um Spielraum für Verarbeitung und Bearbeitung zu haben.

MIDI zeichnet Notenanweisungen auf: welche Noten wann beginnen, mit welcher Stärke und welche Instrumente gewählt werden. Das kann viel kleiner sein als eine abgetastete Darbietung, aber die Wiedergabe hängt von den verfügbaren Instrumentenklängen ab. MIDI kann die Melodie eines Sängers als Noten beschreiben; die tatsächlich aufgenommene Stimme kann es nicht enthalten.

Wichtige Erkenntnisse

  • Die Abtastrate zählt Messungen pro Sekunde; die Bittiefe zählt Bits pro Messung.
  • Die Quantisierung rundet einen Abtastwert auf eine der verfügbaren Stufen.
  • Die Abtastrate muss mehr als doppelt so hoch sein wie die höchste zu erfassende Frequenz.
  • Anti-Aliasing-Filter entfernen hohe Frequenzen vor der Abtastung.
  • Die Anzahl der Audiobits entspricht Abtastrate × Bittiefe × Kanäle × Sekunden.
  • MIDI speichert Anweisungen für eine Darbietung, keine aufgezeichnete Wellenform.
6

Komprimiere Daten und wähle ein Format

Kompression verringert die Anzahl der Bits, die zum Speichern oder Übertragen von Daten benötigt werden. Manche Verfahren ersetzen wiederholte Informationen durch kürzere Beschreibungen, die sich exakt rückgängig machen lassen. Andere entfernen Details aus Bildern und Ton, um kleinere Dateien zu erzielen. Du wirst einfache Codes nachvollziehen, die für einen Dekodierer benötigten Informationen berücksichtigen und ein Format danach wählen, was erhalten bleiben muss. Eine Datei zur Bearbeitung oder exakten Wiederherstellung hat andere Anforderungen als ein fertiger Datenstrom zum Anhören oder Ansehen.

6.1 Verlustfreie Codes und ihre Grenzen

Verlustfreie Kompression ermöglicht es, beim Dekomprimieren die ursprünglichen Bits exakt wiederherzustellen. Text, Programmdateien, Tabellen und andere exakte Daten benötigen diese Eigenschaft. ZIP, PNG, GIF und FLAC sind bekannte verlustfreie Formate. Sie nutzen Redundanz: wiederholte oder vorhersehbare Informationen, die sich kürzer beschreiben lassen.

Beschreibe wiederholte Folgen

Die Lauflängenkodierung, kurz RLE, ersetzt aufeinanderfolgende gleiche Zeichen durch eine Anzahl und das Zeichen. Die Zeichenkette „AAAAAABBBCCCCCCCCD“ mit 18 Zeichen wird zu „6A3B8C1D“, nach dieser Konvention aus Anzahl und Zeichen also acht Zeichen. Beim Dekodieren wird jedes Paar erweitert: sechs A, drei B, acht C und ein D.

Dieselbe Idee eignet sich für einfarbige Bildbereiche. Die Pixelzeile 0000000011110000 lässt sich als acht Nullen, vier Einsen und vier Nullen beschreiben. Eine echte Datei muss festlegen, wie Anzahlen und Zeichen gespeichert werden, damit die Dekodierung eindeutig ist.

Kurze Folgen können RLE größer machen. Aus „ABCD“ wird „1A1B1C1D“, was die Zeichenanzahl schon vor einem Dateikopf verdoppelt. Kompression funktioniert nur, wenn die Einsparung den Aufwand für die Beschreibung des Musters übersteigt.

Verweise auf eine wiederholte Folge

Ein Wörterbuchverfahren ersetzt eine wiederholte Folge durch einen Verweis. Verfahren der LZ-Familie liegen Formaten wie ZIP und PNG zugrunde. In „hallo und ja hallo“ kann das zweite „hallo“ durch die Anweisung ersetzt werden, 13 Zeichen zurückzugehen und fünf zu kopieren. Leerzeichen zählen als Zeichen. Der Dekodierer verfügt bereits über den früheren Text und kann die Folge anhand des Verweises wiedergeben.

Gib häufigen Zeichen kürzere Codes

Ein Code variabler Länge verwendet unterschiedliche Bitlängen für verschiedene Zeichen. Die Huffman-Kodierung erstellt Codes anhand der Zeichenhäufigkeiten. In „ABRACADABRA“ erscheint A fünfmal, B und R je zweimal und C und D je einmal. Ein Code fester Länge für fünf Zeichen benötigt drei Bits pro Zeichen, also 33 Bits für elf Buchstaben.

Ein passender präfixfreier Code ist A = 0, B = 10, R = 110, C = 1110 und D = 1111. Die kodierten Daten benötigen 5×1+2×2+2×3+1×4+1×4=23 Bits. Die Codetabelle verursacht zusätzlichen Aufwand, sodass 23 Bits allein nicht die vollständige Dateigröße sind.

Präfixfrei bedeutet, dass kein Zeichencode den Anfang eines anderen Zeichencodes bildet. Das Lesen von 0110 ergibt daher A gefolgt von R, ohne Trennzeichen zu benötigen. Dank dieser Eigenschaft erkennt ein Huffman-Dekodierer ein Zeichen, sobald sein Code endet.

Der Dekodierer muss neben den Nutzdaten auch die Kodierungskonvention kennen. Für einen Datenstrom nach Huffman-Art benötigt er die Zuordnung von Zeichen zu Codes; bei RLE muss er eine Anzahl von einem Zeichen unterscheiden können. Eine kleine Nachricht kann Bits bei den Nutzdaten sparen und insgesamt dennoch größer werden, wenn diese Beschreibung hinzukommt. Vergleiche die vollständigen Größen des Originals und der kodierten Daten, um zu entscheiden, ob ein Verfahren die Datei tatsächlich verkleinert hat.

Miss Einsparungen und erkenne Grenzen

Das Kompressionsverhältnis ist die ursprüngliche Größe geteilt durch die komprimierte Größe. Die Verkleinerung von 6 MB auf 2 MB ergibt 3:1. Verwende auf beiden Seiten dieselbe Einheit.

Kein verlustfreies Verfahren kann jede mögliche Datei verkürzen. Es gibt 2n verschiedene Eingaben mit n Bits, aber nur 2n−1 Bitfolgen, die kürzer als n Bits sind. Exakte Wiederherstellung verlangt, dass verschiedene Eingaben unterscheidbar bleiben; daher können nicht alle kürzere Ausgaben erhalten. Zufallsdaten und bereits komprimierte Dateien schrumpfen oft kaum oder wachsen durch zusätzlichen Aufwand.

Wichtige Erkenntnisse

  • Verlustfreies Dekomprimieren stellt die ursprünglichen Bits exakt wieder her.
  • RLE beschreibt aufeinanderfolgende gleiche Zeichen mithilfe ihrer Anzahl.
  • Wörterbuchverfahren ersetzen wiederholte Folgen durch Verweise.
  • Die Huffman-Kodierung weist anhand der Zeichenhäufigkeiten kürzere Codes zu.
  • Ein präfixfreier Code macht Zeichengrenzen ohne Trennzeichen erkennbar.
  • Das Kompressionsverhältnis vergleicht die ursprüngliche mit der komprimierten Größe.
  • Kein verlustfreies Verfahren verkürzt jede mögliche Eingabe.

6.2 Verlustbehaftete Formate und Qualitätsentscheidungen

Verlustbehaftete Kompression entfernt Informationen, um die Dateigröße zu verringern. Beim Dekomprimieren entsteht eine Version, die dem Original ähnelt, bei der aber einige Details dauerhaft fehlen. Fotos, Musik, Sprache und Video können ausgewählte Verluste vertragen, die bei exakten Text- oder Programmdaten nicht hinnehmbar wären.

Komprimiere Bilder nach visueller Bedeutung

JPEG nutzt die unterschiedliche Empfindlichkeit des menschlichen Sehens für Helligkeit, Farbe und feine Details. Ein typisches JPEG verringert die Auflösung feiner Farbdetails und rundet feine Bilddetails, die in Blöcken von 8 mal 8 dargestellt werden. Die Qualitätseinstellung steuert, wie stark Informationen entfernt werden. Stärkere Kompression kann Blockbildung, Unschärfe oder Überschwinger nahe scharfen Kanten erzeugen.

Ein Foto kann oft etwa 10:1 bei geringem sichtbarem Verlust erreichen. Bei diesem Verhältnis würde ein Bild mit 6.220.800 Bytes unkomprimierter Pixeldaten etwa 622.080 komprimierte Bytes benötigen, ungefähr 0,6 MB. Das Verhältnis ist ein Beispiel, keine feste Eigenschaft jedes JPEG.

Komprimiere Ton nach Hörbarkeit

MP3 und AAC verwenden wahrnehmungsbasierte Kodierung. Ein leiser Klang kann durch einen lauteren Klang mit benachbarter Frequenz verdeckt werden, sodass der Kodierer weniger Bits für Informationen aufwenden kann, die ein Hörer wahrscheinlich nicht wahrnimmt. Eine kleinere Datei kann trotzdem sehr ähnlich wie das Original klingen.

Bei konstanter Bitrate entspricht die Größe in Bits der Bitrate mal Dauer. Bei 128 kbit/s benötigt eine Aufnahme von drei Minuten 128.000×180=23.040.000 Bits oder 2.880.000 Bytes, etwa 2,9 MB. Das ist etwa ein Elftel der 1.411,2 kbit/s von unkomprimiertem CD-Audio. Die komprimierte Rate beschreibt bereits den kodierten Datenstrom; multipliziere sie nicht erneut mit der ursprünglichen Bittiefe.

Nutze Ähnlichkeiten zwischen Videoeinzelbildern

Benachbarte Einzelbilder zeigen oft fast dieselbe Szene. Videoformate wie H.264 und AV1 komprimieren Bilddetails und beschreiben viele Einzelbilder durch Änderungen oder Vorhersagen anhand anderer Einzelbilder. Dadurch werden wiederholte Informationen sowohl über die Zeit als auch innerhalb jedes Bildes entfernt.

Stimme das Format auf den Zweck ab
VerwendungGeeignete WahlGrund
Exakter Text, Code oder DatenVerlustfreies ArchivJedes Bit muss erhalten bleiben
Foto zum TeilenJPEG oder ein anderes verlustbehaftetes BildformatKleine Größe bei akzeptablem sichtbarem Verlust
Bildschirmfoto oder LogoPNGErhält scharfe Kanten und einheitliche Farbflächen
Musik für StreamingAAC, MP3 oder OpusSpart Übertragungskapazität
Audio-Master zur ArchivierungFLACExakte Wiederherstellung der Audioabtastwerte

Bewahre für spätere Bearbeitung ein verlustfreies Original auf. Wiederholtes verlustbehaftetes Dekodieren und erneutes Kodieren kann Generationsverlust verursachen. Die Umwandlung eines bereits verlustbehafteten JPEG in PNG erhält dessen aktuelle dekodierte Pixel, kann aber zuvor entfernte Details nicht wiederherstellen.

Stärkere Kompression kann Qualität, Rechenzeit oder beides kosten. Die passende Wahl hängt davon ab, was eine Datei enthält und wie sie verwendet wird; die kleinste Datei ist nicht immer die nützlichste.

Wichtige Erkenntnisse

  • Verlustbehaftete Kompression entfernt ausgewählte Informationen dauerhaft.
  • JPEG nutzt Eigenschaften der visuellen Wahrnehmung; verlustbehaftete Audioformate nutzen wahrnehmungsbasierte Kodierung.
  • Die Größe eines komprimierten Datenstroms ergibt sich aus Bitrate × Dauer.
  • Bewahre ein verlustfreies Original auf, wenn spätere Bearbeitung oder exakte Wiederherstellung wichtig ist.
  • Die Umwandlung einer verlustbehafteten Datei in ein verlustfreies Format kann entfernte Informationen nicht zurückbringen.

Binärsystem und Datendarstellung: Beispiele

6 Interaktive Lektionen

1

Erstelle einen Code und lies seine Bits

12 Schritte
Zähle die Muster, die ein Feld benötigt, rechne seine Werte um und verbinde Binärgruppen mit der Hexadezimalschreibweise.
  1. 1
    EinführungEin Muster, mehrere Lesarten

    Ein gespeichertes Muster hat zwei getrennte Merkmale: wie viele Bits es belegt und wie es beim Lesen interpretiert wird. Die acht Bits 01000001 könnten eine Zahl, ein Textzeichen oder eine Farbintensität bedeuten.

    Wir wählen zuerst genügend Bits, um eine Reihe von Werten zu unterscheiden, und lesen dann ein Zahlenmuster mithilfe binärer Stellenwerte und der Hexadezimaldarstellung. Eine andere Schreibweise ändert, was du aufschreibst, erhält aber den Wert.

  2. 2
    ErklärungZähle Möglichkeiten durch Verdopplung

    Jedes Bit hat zwei Möglichkeiten, daher verdoppelt jedes zusätzliche Bit die Anzahl der Muster. Zwei Bits ergeben 00, 01, 10 und 11; drei Bits ergeben acht Muster. Allgemein ergeben n Bits 2n Muster.

    Um 26 Buchstaben zu unterscheiden, reichen vier Bits nicht aus, weil sie nur 16 Muster ergeben. Fünf Bits ergeben 32 und lassen sechs Muster ungenutzt. Ein Code muss nicht jedes verfügbare Muster verwenden.

  3. 3
    HerausforderungWähle ein Feld für Kategorien

    Ein Gerät muss 90 Kategorien unterscheiden. Wie viele Bits braucht es mindestens, um sie zu kodieren? Wie viele Muster bleiben ungenutzt?

    ---reveal---

    Sechs Bits ergeben 64 Muster, also zu wenige. Sieben ergeben 128, daher benötigt das Feld sieben Bits und lässt 38 Muster ungenutzt. Die größte numerische Kennung könnte 89 sein, wenn die Kennungen bei null beginnen; dieser Endpunkt unterscheidet sich von der Anzahl von 90 Kategorien.

  4. 4
    VerbindungAchte auf die Groß- und Kleinschreibung der Einheit

    Ein Byte hat acht Bits. Daher ist die Groß- oder Kleinschreibung des Einheitenbuchstabens wichtig: b bedeutet Bit und B bedeutet Byte. Eine Verbindung mit 40 Mbit/s hat vor dem Overhead eine ideale Obergrenze für die Nutzdaten von 5 MB/s.

    Die Einheitenpräfixe sind eine weitere Frage. Ein MB bedeutet eine Million Bytes, während ein MiB 1.048.576 Bytes bedeutet. Die Umrechnung einer gespeicherten Menge von MB in MiB ändert den angezeigten Zahlenwert, ohne Daten zu entfernen.

  5. 5
    ErklärungOrdne die binären Stellenwerte zu

    Der Stellenwert ganz rechts im ganzzahligen Anteil ist 1. Nach links folgen 2, 4, 8, 16, 32, 64 und so weiter. Eine 1 wählt einen Stellenwert aus und eine 0 lässt ihn aus.

    Für 101101 sind die gewählten Stellenwerte 32, 8, 4 und 1, zusammen 45. Führende Nullen können eine Bitbreite auffüllen, ohne diese Stellenwerte zu ändern. Eine fehlende Null innerhalb des Musters würde einige Ziffern verschieben und den Wert ändern.

  6. 6
    BeispielWähle die Potenzen für 156

    Die größte Zweierpotenz, die 156 nicht übersteigt, ist 128. Subtrahiere sie, sodass 28 bleibt. Die Stellenwerte 64 und 32 passen nicht, erhalten also Nullen.

    Ziehe 16 von 28 ab, sodass 12 bleibt. Ziehe 8 ab, sodass 4 bleibt, und dann 4, um null zu erreichen. Die letzten beiden Stellenwerte 2 und 1 erhalten Nullen. Über die Stellenwerte 128 bis 1 ergeben sich die Bits 10011100. Wenn du jede ungenutzte Stelle beibehältst, verschieben sich die gewählten Potenzen nicht.

  7. 7
    TippKehre die Reihenfolge der Divisionsreste um

    Wiederholte Division ist ein anderer Weg zum selben Muster. Die Division einer ganzen Zahl durch zwei ergibt ihr letztes Bit als Rest. Die Division des Quotienten findet das nächste Bit links davon.

    Für 156 entstehen die Reste als 0, 0, 1, 1, 1, 0, 0, 1. Lies vom letzten bis zum ersten, um 10011100 zu erhalten. Die umgekehrte Reihenfolge ist nötig, weil die Division zuerst die niederwertigste Stelle findet.

  8. 8
    HerausforderungRechne einen neuen Wert um und prüfe ihn

    Schreibe die Dezimalzahl 109 mit acht Binärstellen und erkläre dann anhand deines Ergebnisses, ob 109 ungerade ist.

    ---reveal---

    Die gewählten Potenzen sind 64, 32, 8, 4 und 1, also lautet das Muster 01101101. Ihre Summe ist 109, was die Umrechnung bestätigt. Das letzte Bit ist 1; alle anderen Stellen tragen gerade Größen bei, sodass eine ungerade ganze Zahl entsteht. Die führende Null füllt das Byte, ohne den Wert zu ändern.

  9. 9
    ErklärungErsetze Nibbles durch Hexadezimalziffern

    Das Hexadezimalsystem hat sechzehn Ziffern: 0–9, gefolgt von A–F für zehn bis fünfzehn. Vier Bits unterscheiden ebenfalls sechzehn Muster, daher bezeichnet jede Hexadezimalziffer ein Nibble.

    Teile 10011100 in 1001 und 1100. Die erste Gruppe ist neun und die zweite zwölf, geschrieben C. Das Ergebnis ist 0x9C. Die Hexadezimaldarstellung benötigt viermal weniger Ziffern als die Binärdarstellung und behält dabei den direkten Bezug zu den Gruppen innerhalb des Bytes.

  10. 10
    BeispielGruppiere ein kurzes Muster von rechts

    Um 101101 umzurechnen, bilde Gruppen von rechts: 10 und 1101. Fülle die Gruppe ganz links zu 0010 auf. Die Gruppen ergeben nun hexadezimal 2 und D, also ist der Wert 0x2D.

    Prüfe mit hexadezimalen Stellenwerten: Zweimal sechzehn plus dreizehnmal eins ergibt 45. Eine Gruppierung von links würde die letzte kurze Gruppe an die falsche Stelle setzen. Innerhalb einer vollständigen Hexadezimalumrechnung muss jede Ziffer alle vier Bits behalten.

  11. 11
    HerausforderungVerbinde Bits, Bitbreite und Hexadezimaldarstellung

    Ein vorzeichenloses Feld mit fester Bitbreite speichert 0xB4. Wie viele Bits zeigen seine zwei Hexadezimalziffern, wie lautet sein Binärmuster und welchen Dezimalwert enthält es?

    ---reveal---

    Zwei Hexadezimalziffern stellen acht Bits dar. B wird zu 1011 und 4 zu 0100 erweitert, also lautet das Byte 10110100. Seine gewählten Stellenwerte ergeben zusammen 128 + 32 + 16 + 4 = 180. Gleichwertig dazu ergibt elfmal sechzehn plus vier den Wert 180.

  12. 12
    ZusammenfassungDrei Prüfungen für einen gespeicherten Wert

    Prüfe Kapazität, Schreibweise und Einheiten getrennt. Ein Feld benötigt genügend Muster für alle seine möglichen Werte. Die Binärdarstellung wählt Zweierpotenzen aus; die Hexadezimaldarstellung gruppiert diese Bits von rechts in Vierergruppen.

    Der gespeicherte Wert bleibt bei einem Wechsel der geschriebenen Basis oder der Speichereinheit erhalten. Eine andere Dateninterpretation kann denselben Bits eine andere Bedeutung geben, daher gehören das Muster und die Regel zum Lesen des Musters zusammen.

2

Lies vorzeichenbehaftete Werte und beachte ihre Bitbreite

11 Schritte
Arbeite mit vorzeichenlosen Höchstwerten, der Kodierung im Zweierkomplement und der Erweiterung eines negativen Werts.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungEine Bitbreite braucht eine Interpretation
  2. 2
    ErklärungReserviere ein Muster für null
  3. 3
    BeispielVollziehe das vorzeichenlose Zurückspringen nach
  4. 4
    HerausforderungWähle genügend Platz für eine Anzahl
  5. 5
    ErklärungGib dem führenden Bit einen negativen Stellenwert
  6. 6
    BeispielBeginne das Muster für −45
  7. 7
    BeispielSchließe die Vorzeichenumkehr ab
  8. 8
    HerausforderungKodiere eine weitere negative Ganzzahl
  9. 9
    KernaussageErweitere den Wert mit dem Vorzeichenbit statt mit Nullen
  10. 10
    HerausforderungErweitere die Bitbreite vor der Vorzeichenumkehr
  11. 11
    ZusammenfassungBehalte die Regel beim Muster
3

Erstelle eine Gleitkommakodierung

17 Schritte
Rechne einen Binärbruch um, setze IEEE-754-Felder zusammen und untersuche Rundung und Abstände.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungEin Wert und eine Skalierung
  2. 2
    ErklärungLies die Nachkommastellen
  3. 3
    BeispielErzeuge einen endlichen Bruch
  4. 4
    KernaussageSage voraus, ob die Ziffernfolge endet
  5. 5
    HerausforderungBestimme die Skalierung in der Festkommadarstellung
  6. 6
    ErklärungErkenne die Felder
  7. 7
    BeispielSchreibe 6,25 im Binärsystem
  8. 8
    BeispielKodiere den Exponenten
  9. 9
    BeispielSpeichere nur den Nachkommaanteil
  10. 10
    BeispielSetze die drei Felder zusammen
  11. 11
    HerausforderungDekodiere einen anderen normalen Wert
  12. 12
    TippOrdne zuerst reservierte Muster ein
  13. 13
    ErklärungUnterscheide Darstellungsbereich und Abstand
  14. 14
    KernaussageBeobachte, wie der Abstand wächst
  15. 15
    HerausforderungRunde eine ganze Zahl genau in der Mitte
  16. 16
    HerausforderungWähle einen Typ für einen exakten Betrag
  17. 17
    ZusammenfassungLies das Format vor dem Wert
4

Verfolge Text von Zeichen zu Bytes

12 Schritte
Unterscheide ASCII-Codes, Unicode-Codepunkte und kodierte Bytes und untersuche anschließend eine falsche Dekodierung.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungText benötigt eine Vereinbarung
  2. 2
    ErklärungFinde den ASCII-Zeichencode
  3. 3
    BeispielKodiere Buchstaben und Satzzeichen
  4. 4
    HerausforderungBestimme den Zahlenwert einer Ziffer
  5. 5
    VerbindungWarum ein einzelnes Byte nicht ausreichte
  6. 6
    ErklärungBestimme das Zeichen vor dem Kodieren
  7. 7
    BeispielTeile die Bits für é
  8. 8
    BeispielVervollständige die zwei kodierten Bytes
  9. 9
    HerausforderungZähle eine Zeichenkette aus verschiedenen Schriftsystemen
  10. 10
    KernaussageEin Aussehen kann zwei Formen haben
  11. 11
    HerausforderungUntersuche das verstümmelte Wort
  12. 12
    ZusammenfassungHalte drei Zählweisen auseinander
5

Plane Speicherplatz für Bilder und Aufnahmen

15 Schritte
Nutze Pixel- und Abtastwertzahlen, unterscheide Bittiefe und Auflösung und vergleiche unkomprimierten Speicherbedarf mit anweisungsbasierten Formaten.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungZähle Werte und dann Bits pro Wert
  2. 2
    ErklärungBaue ein RGB-Pixel auf
  3. 3
    VerbindungFüge Transparenz hinzu oder verwende eine Farbpalette
  4. 4
    HerausforderungLies eine Farbe und ihre Farbtiefe
  5. 5
    BeispielBeginne mit dem Pixelraster
  6. 6
    BeispielRechne das Bild in Bytes um
  7. 7
    HerausforderungSkaliere das Raster und ergänze Einzelbilder
  8. 8
    KernaussageEine Zeichnung kann Anweisungen speichern
  9. 9
    ErklärungUnterscheide Abtastzeitpunkte und Amplitude
  10. 10
    ErklärungFiltere vor der Abtastung
  11. 11
    BeispielBestimme zuerst die Audiodatenrate
  12. 12
    HerausforderungBerechne eine andere Aufnahme
  13. 13
    VerbindungNoten können eine Wellenform ersetzen
  14. 14
    HerausforderungVergleiche zwei Änderungen des Speicherbedarfs
  15. 15
    ZusammenfassungHalte Faktoren und Einheiten sichtbar
6

Komprimiere, ohne Größe und originalgetreue Wiedergabe zu verwechseln

12 Schritte
Wende Lauflängenkodierung und Codes variabler Länge an, berücksichtige zusätzlichen Aufwand und entscheide, wann Informationen entfernt werden dürfen.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungZwei Wege zu einer kleineren Datei
  2. 2
    ErklärungErsetze Folgen durch Anzahlen
  3. 3
    HerausforderungProbiere lange und kurze Folgen aus
  4. 4
    VerbindungVerweise auf eine bereits gesehene Folge
  5. 5
    BeispielGib häufigen Zeichen kurze Codes
  6. 6
    HerausforderungDekodiere den Datenstrom der Reihe nach
  7. 7
    KernaussageManche Eingaben müssen groß bleiben
  8. 8
    ErklärungEntferne weniger auffällige Mediendetails
  9. 9
    BeispielNutze eine komprimierte Bitrate direkt
  10. 10
    HerausforderungSchütze eine Masterdatei und teile eine Kopie
  11. 11
    HerausforderungVergleiche ein Verhältnis mit einer Übertragungsdauer
  12. 12
    ZusammenfassungStimme die Garantie auf den Zweck ab

Binärsystem und Datendarstellung: Übungsaufgaben

50 Übungsfragen in 5 Sets

Set 1: Lies Muster und schätze den Speicherbedarf10 Übungsfragen

Frage 1 von 10

Ein Statusfeld muss 70 verschiedene Zustände unterscheiden. Wie viele Bits benötigt es mindestens?
  1. 6 Bits
  2. 8 Bits
  3. 7 Bits
  4. 70 Bits
Antwort zeigenAntwort ausblenden
Antwort: C
Sechs Bits ergeben 64 Muster, die 70 Zustände nicht abdecken können. Sieben Bits ergeben 128 Muster, daher sind sieben die kleinste funktionierende Bitbreite. Sechs zu wählen, weil 64 nahe an der benötigten Anzahl liegt, würde einige Zustände ohne eigenes Muster lassen.

Frage 2 von 10

Welchen Dezimalwert stellt die Binärzahl 1010110 dar?
  1. 86
  2. 84
  3. 106
  4. 43
Antwort zeigenAntwort ausblenden
Antwort: A
Die Bits mit 1 stehen an den Stellen mit den Werten 64, 16, 4 und 2, zusammen 86. Die Null an der Einerstelle trägt nichts bei. Liest man 101011 als 43, lässt man die letzte Null weg. Dadurch entfällt eine Stelle und der Wert wird halbiert, statt erhalten zu bleiben.

Frage 3 von 10

Wie wird die ganze Binärzahl 1110101 hexadezimal geschrieben?
  1. 0xE5
  2. 0x7A
  3. 0xD1
  4. 0x75
Antwort zeigenAntwort ausblenden
Antwort: D
Gruppiere von rechts und erhalte 0111 0101. Diese Nibbles sind 7 und 5, also ergibt sich 0x75. Eine Gruppierung von links als 1110 101 mit anschließender Auffüllung der zweiten Gruppe würde die Stellenwerte ändern und fälschlich 0xE5 ergeben.

Frage 4 von 10

Was ist die größte vorzeichenlose Ganzzahl, die in 12 Bits passt?
  1. 4.096
  2. 4.095
  3. 2.047
  4. 4.097
Antwort zeigenAntwort ausblenden
Antwort: B
Zwölf Bits liefern 4.096 Muster, und das erste Muster stellt null dar. Der größte vorzeichenlose Wert ist daher 4.095. Wer 4.096 als Maximum verwendet, verwechselt die Anzahl der verfügbaren Muster mit dem letzten Wert einer Zählung, die bei null beginnt.

Frage 5 von 10

Welchen Wert stellt 11101010 als Ganzzahl im Zweierkomplement mit 8 Bits dar?
  1. −106
  2. −22
  3. 234
  4. −21
Antwort zeigenAntwort ausblenden
Antwort: B
Das höchstwertige Bit trägt −128 bei, und die anderen Bits mit 1 tragen 64 + 32 + 8 + 2 = 106 bei, was −22 ergibt. Liest man 106 als Betrag und setzt ein Minuszeichen davor, erhält man −106. Das ist jedoch die Vorzeichen-Betrag-Interpretation, nicht das Zweierkomplement.

Frage 6 von 10

Welchen Dezimalwert stellt der Binärbruch 10,011 dar?
  1. 2,75
  2. 2,3
  3. 2,625
  4. 2,375
Antwort zeigenAntwort ausblenden
Antwort: D
Der ganzzahlige Anteil ist 2, und der Nachkommaanteil wählt ein Viertel plus ein Achtel aus. Ihre Summe ist 0,375, also ist der gesamte Wert 2,375. Beim Ergebnis 2,75 wird die erste 1 nach dem Komma als ein Halb behandelt; dadurch werden beide gewählten Nachkommastellen um eine Stelle nach links verschoben.

Frage 7 von 10

In ASCII hat „0“ den Code 48. Welchen Code hat das Zeichen „8“?
  1. 56
  2. 8
  3. 55
  4. 64
Antwort zeigenAntwort ausblenden
Antwort: A
ASCII-Ziffernzeichen belegen aufeinanderfolgende Codes, beginnend mit 48 für „0“. Acht Positionen weiter ergibt sich 56 für „8“. Die Ganzzahl 8 hat eine andere Darstellung; zum Speichern des Zeichens wird der Zeichencode benötigt, nicht der Wert, den seine Form bezeichnet.

Frage 8 von 10

Welche RGB-Kanalwerte gibt die Webfarbe #4080C0 an?
  1. (40, 80, 120)
  2. (192, 128, 64)
  3. (64, 128, 192)
  4. (4, 8, 12)
Antwort zeigenAntwort ausblenden
Antwort: C
Teile den Farbcode in die Hexadezimalpaare 40, 80 und C0. Ihre Dezimalwerte sind 64, 128 und 192 in der Reihenfolge Rot, Grün, Blau. Wer die Paare als Dezimalzahlen behandelt, verliert die Stellenwerte zur Basis 16; wer die Paare umkehrt, vertauscht Rot und Blau.

Frage 9 von 10

Wie viele Bytes unkomprimierter Abtastdaten werden für 6 Sekunden Mono-Audio mit 12.000 Hz und 16 Bits benötigt?
  1. 72.000 Bytes
  2. 288.000 Bytes
  3. 1.152.000 Bytes
  4. 144.000 Bytes
Antwort zeigenAntwort ausblenden
Antwort: D
Im einzelnen Kanal gibt es 12.000 × 6 = 72.000 Abtastwerte, die jeweils zwei Bytes benötigen. Insgesamt sind es 144.000 Bytes. Wer 1.152.000 angibt, bezeichnet die Anzahl der Bits als Bytes; Stereo würde die Größe verdoppeln, aber diese Aufnahme ist mono.

Frage 10 von 10

Ein verlustfreier Code verwendet A = 0, B = 10, C = 110 und D = 111. Eine Nachricht enthält 40 A, 5 B, 2 C und 1 D. Eine benötigte Tabelle ergänzt 16 Bits. Wie viele Bits werden gegenüber einem festen 2-Bit-Code ohne Tabelle gespart?
  1. 21 Bits
  2. 37 Bits
  3. 16 Bits
  4. 5 Bits
Antwort zeigenAntwort ausblenden
Antwort: A
Die Nutzdaten mit variabler Länge benötigen 40 + 10 + 6 + 3 = 59 Bits, und ihre Tabelle erhöht die Gesamtzahl auf 75. Der feste Code benötigt 48 × 2 = 96 Bits, die Einsparung beträgt also 21 Bits. Eine behauptete Einsparung von 37 Bits ignoriert die benötigte Tabelle mit 16 Bits.
Set 2: Wende Formate an und berechne Nutzdaten10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Eine Verbindung überträgt mit 48 Mbit/s. Wie viele dezimale Megabytes kann sie ohne Overhead in 5 Sekunden übertragen?
  1. 6 MB
  2. 30 MB
  3. 240 MB
  4. 3 MB
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Wie wird 74 als vorzeichenloser Binärwert mit 8 Bits geschrieben?
  1. 01010010
  2. 10010100
  3. 01001001
  4. 01001010
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Wie wird −19 im Zweierkomplement mit 8 Bits dargestellt?
  1. 11101101
  2. 11101100
  3. 10010011
  4. 00010011
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein normaler binary32-Wert hat das Vorzeichen 0, den gespeicherten Exponenten 125 und die Bits 100 gefolgt von Nullen im Nachkommafeld. Welchen Dezimalwert hat er?
  1. 1,5
  2. 0,25
  3. 0,375
  4. 0,1875
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein positiver Wert ist in binary64 endlich, verursacht aber in binary32 bei Standardrundung einen Überlauf. Was wurde bei binary32 überschritten?
  1. Die Anzahl seiner Ganzzahlen
  2. Die Anzahl seiner Dezimalstellen
  3. Sein endlicher Darstellungsbereich
  4. Sein Format für Text
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Wie viele UTF-8-Bytes benötigt „AЖ中😀“, wenn Ж U+0416, 中 U+4E2D und 😀 U+1F600 ist?
  1. 10 Bytes
  2. 4 Bytes
  3. 8 Bytes
  4. 12 Bytes
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Eine Rastergrafik verwendet eine Farbpalette mit genau 32 Farben. Wie viele Bits werden für jeden Pixelindex mindestens fest benötigt?
  1. 4 Bits
  2. 6 Bits
  3. 32 Bits
  4. 5 Bits
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Ein unkomprimiertes RGB-Bild mit 300 × 200 verwendet 24 Bits pro Pixel. Beide Abmessungen werden verdoppelt und ein Alphakanal mit 8 Bits wird hinzugefügt. Wie groß sind die neuen Pixeldaten?
  1. 720.000 Bytes
  2. 960.000 Bytes
  3. 480.000 Bytes
  4. 240.000 Bytes
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Eine Monoaufnahme dauert 4 Sekunden bei 30.000 Hz und Abtastwerten mit 12 Bits. Nach einer Tiefpassfilterung beträgt ihre höchste Frequenz 14 kHz. Welche Größe haben die unkomprimierten Nutzdaten und reicht die Abtastrate aus?
  1. 180.000 Bytes; Rate reicht nicht aus
  2. 180.000 Bytes; Rate reicht aus
  3. 360.000 Bytes; Rate reicht aus
  4. 120.000 Bytes; Rate reicht nicht aus
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Audiodatenstrom mit konstanter Rate verwendet 96 kbit/s für 50 Sekunden. Wie groß ist er ohne Dateiköpfe in dezimalen Bytes?
  1. 600.000 Bytes
  2. 4.800.000 Bytes
  3. 6.000.000 Bytes
  4. 300.000 Bytes
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 3: Interpretiere dieselben Bits auf verschiedene Arten10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Welchen Dezimalwert stellt 0x2B6 dar?
  1. 678
  2. 710
  3. 438
  4. 694
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein vorzeichenloser 8-Bit-Zähler verwendet Wraparound. Er beginnt bei 247 und wird um 28 erhöht. Welcher Wert wird gespeichert?
  1. 19
  2. 20
  3. 255
  4. 275
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein Zweierkomplementfeld mit 6 Bits enthält 101101. Es wird auf 8 Bits erweitert, ohne seinen Wert zu ändern. Wie lauten das erweiterte Muster und der Dezimalwert?
  1. 00101101; −19
  2. 11101101; −45
  3. 11101101; −19
  4. 10101101; −19
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Wie groß ist die Schrittweite zwischen benachbarten Werten, wenn ein vorzeichenloses Festkommaformat sechs Bits für den Nachkommaanteil hat?
  1. 1/6
  2. 1/64
  3. 1/32
  4. 1/128
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Wie lauten Vorzeichen, gespeicherter Exponent und Anfang des Nachkommafelds, wenn −13,5 als normaler binary32-Wert kodiert wird?
  1. 1; 130; 11011…
  2. 1; 130; 1011…
  3. 1; 124; 1011…
  4. 1; 131; 1011…
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Der Text „0064“ wird mit einem ASCII-Byte pro Zeichen gespeichert. Wie viele Bytes belegt er?
  1. 4 Bytes
  2. 1 Byte
  3. 2 Bytes
  4. 8 Bytes
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Die Bytes für „é“ in UTF-8 sind C3 A9. Ein lesendes Programm interpretiert sie als zwei Windows-1252-Zeichen. Was ist die unmittelbare Ursache der fehlerhaften Anzeige?
  1. Das schreibende Programm nutzte zu wenige Codepunkte.
  2. Der Text überschritt ein Byte pro Datei.
  3. Das lesende Programm nutzte die falsche Kodierung.
  4. Das lesende Programm änderte die Unicode-Nummer.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Die Breite einer Rastergrafik wird verdreifacht und ihre Höhe verdoppelt, während die Farbtiefe gleich bleibt. Um welchen Faktor wächst die Größe ihrer unkomprimierten Pixeldaten?
  1. 5
  2. 3
  3. 12
  4. 6
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Ein präfixfreier Code lautet A = 0, B = 10, C = 110, D = 111. Welche Nachricht wird durch 1011001110 kodiert?
  1. BCDAA
  2. BACDA
  3. BCADA
  4. CBADA
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Fotograf wandelt ein vorhandenes JPEG in PNG um, ohne dessen dekodierte Pixel zu verändern. Was geschieht mit den zuvor durch JPEG entfernten Details?
  1. Sie kehren beim erneuten Öffnen des PNG zurück.
  2. Sie kehren zurück, wenn das PNG größer ist.
  3. Sie kehren als neue Metadatenfelder zurück.
  4. Sie fehlen weiterhin im Bild.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 4: Untersuche Fehler und verbinde Darstellungen10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Eine Datei hat 3.145.728 Bytes. Wie groß ist sie in MiB?
  1. 3 MiB
  2. 3,145728 MiB
  3. 3.072 MiB
  4. 24 MiB
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Lernender dividiert 90 wiederholt durch 2 und schreibt die Reste in der erhaltenen Reihenfolge als 0101101. Wie lautet die korrekte Binärdarstellung von 90?
  1. 0101101
  2. 1010110
  3. 1011010
  4. 1101010
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein Dateibetrachter zeigt die drei Bytes 0x07, 0xB2 und 0xF0. Wie viele Bits enthalten diese Bytes?
  1. 12 Bits
  2. 6 Bits
  3. 48 Bits
  4. 24 Bits
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Sensor zeichnet ganzzahlige Anzahlen von 0 bis einschließlich 8.192 auf. Jede Anzahl verwendet die kleinstmögliche vorzeichenlose Bitbreite und die Felder werden ohne Auffüllung gepackt. Wie viele Bytes fassen 40 Anzahlen?
  1. 65 Bytes
  2. 70 Bytes
  3. 80 Bytes
  4. 560 Bytes
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein binary32-Muster hat das Vorzeichen 1, einen Exponenten aus lauter Einsen und einen von null verschiedenen Nachkommaanteil. Zu welcher Kategorie gehört es, und kann allein eine Änderung des Vorzeichenbits daraus eine endliche Zahl machen?
  1. Unendlich; ein Vorzeichenwechsel hält es unendlich
  2. Subnormal; ein Vorzeichenwechsel macht es normal
  3. Endlich; ein Vorzeichenwechsel hält es endlich
  4. NaN; ein Vorzeichenwechsel hält es bei NaN
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Zwei benachbarte positive normale binary32-Werte im Intervall von 2²⁵ bis 2²⁶ unterscheiden sich um 4. Was macht die Standardrundung mit der exakten Ganzzahl 33.554.435?
  1. Sie speichert 33.554.432.
  2. Sie speichert 33.554.435 exakt.
  3. Sie speichert 33.554.436.
  4. Sie erzeugt einen Überlauf zu positiv unendlich.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Eine Speichergrenze erlaubt 18 UTF-8-Bytes. Eine Zeichenkette enthält nur das Zeichen „中“ (U+4E2D), ohne dass weitere Daten mitgezählt werden. Wie viele Exemplare passen hinein?
  1. 6
  2. 18
  3. 9
  4. 4
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Ein Bild mit 20 × 10 verwendet 16 Paletteneinträge, die jeweils als 24-Bit-RGB gespeichert sind, sowie gepackte Pixelindizes mit 4 Bits. Wie viele Bytes werden benötigt, wenn alles andere unberücksichtigt bleibt?
  1. 100 Bytes
  2. 148 Bytes
  3. 600 Bytes
  4. 196 Bytes
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Ein gefiltertes Signal enthält Frequenzen bis 17 kHz. Was ist die kleinste ganzzahlige Abtastrate in kHz, die die strenge Abtastregel erfüllt?
  1. 17 kHz
  2. 35 kHz
  3. 34 kHz
  4. 33 kHz
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Dekodierer muss jede mögliche Eingabe mit 10 Bits exakt wiederherstellen. Es gibt 1.024 solche Eingaben. Warum kann ein verlustfreies Verfahren sie nicht alle mit weniger als 10 Bits kodieren?
  1. Nur 1.023 Bitfolgen sind kürzer als 10 Bits.
  2. Genau 1.024 Bitfolgen sind kürzer als 10 Bits.
  3. Jede kürzere Bitfolge muss mit einem 1-Bit enden.
  4. Jede Eingabe muss ihre ursprünglichen Bitpositionen behalten.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 5: Verbinde Schranken, Kodierungen und Größenentscheidungen10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Eine ganze Binärzahl wird als 110011 geschrieben. Welcher Dezimalwert entsteht bei unbegrenzter Bitbreite, wenn rechts eine Null angehängt wird?
  1. 51
  2. 52
  3. 102
  4. 204
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Was ist der kleinste Wert einer Ganzzahl im Zweierkomplement mit 10 Bits?
  1. −511
  2. −512
  3. −1.024
  4. −1.023
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein vorzeichenloses 8-Bit-Festkommaformat hat fünf Bits für den ganzzahligen Anteil und drei für den Nachkommaanteil. Ein Wert von 6,375 wird exakt gespeichert. Welche vorzeichenlose Ganzzahl stellt das rohe 8-Bit-Muster dar, wenn die Festkommaskalierung ignoriert wird?
  1. 51
  2. 6
  3. 48
  4. 102
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Ein Zweierkomplementwert mit 8 Bits lautet 10000000. Er wird durch Vorzeichenerweiterung auf 16 Bits erweitert und anschließend mit 16 Bits vorzeichenumgekehrt. Welches Muster entsteht?
  1. 1111111110000000
  2. 0000000001111111
  3. 1000000000000000
  4. 0000000010000000
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

In binary32 sind benachbarte darstellbare Werte nahe 2²⁴ gleich 16.777.216 und 16.777.218. Welches Ergebnis wird beim Umwandeln der exakten Ganzzahl 16.777.217 gespeichert, wenn zum nächsten Wert und bei Gleichstand zur geraden Endziffer gerundet wird?
  1. 16.777.216
  2. 16.777.217
  3. 16.777.218
  4. 16.777.220
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Ein Textfeld enthält „09“ als die ASCII-Bytes 0x30 0x39. Welcher Zahlenwert entsteht, wenn diese Zeichen als dezimale Ganzzahl interpretiert werden?
  1. 57
  2. 9
  3. 3.039
  4. 48
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein Aufnahmegerät speichert Stereoabtastwerte mit 16 Bits bei 24 kHz. Es muss ein gefiltertes Signal mit einer höchsten Frequenz von 10 kHz erfassen und dabei 6.000.000 Bytes unkomprimierter Abtastdaten einhalten. Was ist die längste ganzzahlige Dauer in Sekunden?
  1. 63 Sekunden
  2. 125 Sekunden
  3. 31 Sekunden
  4. 62 Sekunden
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Ein unkomprimierter stummer Clip hat 160 × 120 Pixel, 24 Bits pro Pixel und 25 Einzelbilder/s. Wie viele volle Sekunden passen ohne Dateiköpfe in 7,2 MB dezimalen Speicher?
  1. 4 Sekunden
  2. 10 Sekunden
  3. 5 Sekunden
  4. 40 Sekunden
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Eine Aufnahme behält ihre Abtastrate und Dauer bei, wechselt aber von 16-Bit-Stereo zu 24-Bit-Mono. Welcher Bruchteil der ursprünglichen Größe der unkomprimierten Abtastdaten bleibt übrig?
  1. 3/4
  2. 3/2
  3. 1/2
  4. 4/3
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Projekt benötigt die exakte Wiederherstellung einer bearbeiteten Audio-Masterdatei und eine Kopie zur Weitergabe von 90 Sekunden mit höchstens 1,8 MB kodierten Nutzdaten. Welches Paar von Entscheidungen erfüllt beide Anforderungen?
  1. MP3-Masterdatei; Weitergabe mit konstant 160 kbit/s
  2. FLAC-Masterdatei; Weitergabe mit konstant 192 kbit/s
  3. FLAC-Masterdatei; Weitergabe mit konstant 160 kbit/s
  4. AAC-Masterdatei; Weitergabe mit konstant 128 kbit/s
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Hängst du bei deiner eigenen Aufgabe fest? Hausaufgabenhilfe

Schlüsselbegriffe

81 Schlüsselbegriffe, jeweils mit Definition

A

Abtastrate
Die Abtastrate ist die Anzahl der Messungen pro Sekunde in jedem Audiokanal, gemessen in Hertz; sie bestimmt deren zeitlichen Abstand.
Bei 48 kHz nimmt das Aufnahmegerät in jedem Kanal der Aufnahme pro Sekunde 48.000 Messungen vor.
Abtasttheorem
Das Abtasttheorem verlangt für die originalgetreue Abtastung eines bandbegrenzten Signals eine Rate, die mehr als doppelt so hoch ist wie die höchste erhaltene Signalfrequenz.
Ein Signal mit erhaltenen Frequenzen bis 18 kHz benötigt eine Rate über 36 kHz und eine Filterung zum Entfernen höherer Frequenzen.
Abtastwert
Ein Abtastwert bei Audio ist eine einzelne Messung der Amplitude eines Signals zu einem bestimmten Zeitpunkt, die als Zahl mit der Bittiefe der Aufnahme gespeichert wird.
Ein Stereo-Abtastzeitpunkt erzeugt für jeden der zwei Kanäle einen Messwert und erhöht dadurch die gespeicherte Datenmenge.
Aliasing-Effekt
Der Aliasing-Effekt tritt auf, wenn abgetastete Frequenzen oberhalb der halben Abtastrate in der digitalen Aufnahme als falsche tiefere Frequenzen erscheinen.
Ein Anti-Aliasing-Filter entfernt hohe Eingangsfrequenzen vor der Abtastung, damit sie keine falschen Töne erzeugen.
Alphakanal
Ein Alphakanal speichert die Deckkraft eines Pixels getrennt von seiner Farbe, üblicherweise mit 0 für transparent und 255 für deckend.
Ein RGBA-Pixel verwendet vier Werte mit je acht Bits, sodass sein unkomprimierter Speicherbedarf vier statt der drei Bytes von RGB beträgt.
Analogsignal
Ein Analogsignal verändert sich kontinuierlich, etwa eine Mikrofonspannung, die den durch Schall erzeugten Luftdruckänderungen folgt.
Ein Audiowandler misst das Analogsignal eines Mikrofons, bevor er digitale Abtastwerte davon speichert.
ASCII
ASCII ist ein Zeichencode mit sieben Bits und 128 Einträgen für die Buchstaben des englischen Alphabets, Ziffern, Satzzeichen, das Leerzeichen und Steuerzeichen.
Das Ausrufezeichen hat den ASCII-Code 33 und wird üblicherweise als Byte 00100001 gespeichert.
Auflösung
Die Auflösung einer Darstellung ist die kleinste unterscheidbare Schrittweite bei ihrer gewählten Skalierung; in der Festkommadarstellung wird sie durch die Anzahl der Bits für den Nachkommaanteil bestimmt.
Fünf binäre Nachkommabits ergeben eine Schrittweite von 1/32, sodass ein Wert genau zwischen zwei solchen Stufen gerundet werden muss.

B

Basis
Die Basis eines Zahlensystems bestimmt die Anzahl der Ziffernwerte und den Faktor zwischen benachbarten Stellenwerten des ganzzahligen Anteils.
Eine geschriebene „10“ bedeutet zwei zur Basis 2, zehn zur Basis 10 und sechzehn zur Basis 16.
Bildmetadaten
Bildmetadaten beschreiben ein Bild oder seine Speicherung, darunter Abmessungen und Farbtiefe, und können auch Kameraangaben, Datum oder Ort enthalten.
Eine Fotodatei kann Kamerainformationen enthalten, obwohl diese Bytes nicht Teil des sichtbaren Pixelrasters sind.
Binärkomma
Das Binärkomma trennt ganzzahlige Zweierpotenzen von gebrochenen Zweierpotenzen, die unmittelbar rechts davon mit einem Halb beginnen.
Die erste 1 nach dem Komma in 0,101₂ trägt ein Halb bei, die letzte 1 ein Achtel.
Binärsystem
Das Binärsystem ist das Zahlensystem zur Basis 2 und verwendet die Ziffern 0 und 1 mit Stellenwerten, die Zweierpotenzen sind.
Die ganze Binärzahl 10010 wählt die Stellenwerte sechzehn und zwei aus, ihr Dezimalwert ist also achtzehn.
Bit
Ein Bit ist eine Informationseinheit mit einem von zwei Werten, 0 oder 1. Diese werden durch zwei physikalische Zustände dargestellt, die Hardware unterscheiden kann.
Ein Statusflag kann eine Ein-/Aus-Entscheidung in einem Bit speichern, wobei ein Programm festlegt, welcher Zustand „ein“ bedeutet.
Bitrate
Eine Bitrate ist die Anzahl der pro Sekunde kodierten oder übertragenen Bits und wird üblicherweise in bit/s, kbit/s oder Mbit/s angegeben.
Eine Übertragungsrate von 16 Mbit/s entspricht 2 MB/s, bevor zusätzlicher Kommunikationsaufwand berücksichtigt wird.
Bittiefe
Die Bittiefe bei Audio ist die Anzahl der verwendeten Bits pro Abtastwert und bestimmt die Anzahl und Feinheit der verfügbaren Amplitudenstufen.
Sechzehn Bits erlauben 65.536 Abtastwertstufen, während acht Bits nur 256 und eine gröbere Quantisierung erlauben.
Byte
Ein Byte ist eine Gruppe von acht Bits, die 256 mögliche Muster ergibt und üblicherweise die kleinste adressierbare Speichereinheit bildet.
Das Byte 01000001 kann je nach Interpretation die Zahl 65 oder den Buchstaben „A“ darstellen.

C

Codepunkt
Ein Codepunkt ist eine nummerierte Position im Unicode-Codebereich, geschrieben als U+ gefolgt von Hexadezimalziffern, etwa U+00E9.
Der Codepunkt für „é“ bleibt U+00E9, unabhängig davon, ob seine Bytes mit UTF-8, UTF-16 oder UTF-32 gespeichert werden.
Codeseite
Eine Codeseite ist eine Zuordnung von Zeichen zu Codes, häufig eine ältere Tabelle mit acht Bits, deren Bedeutungen für höhere Bytewerte sich von denen anderer Tabellen unterscheiden.
Das Byte 0xE9 ergibt in Latin-1 „é“ und in Windows-1251 „й“, daher muss beim Lesen die Codeseite bekannt sein.

D

Darstellungsbereich
Der Darstellungsbereich eines Zahlenformats beschreibt die darstellbaren Beträge; bei Gleitkommazahlen bestimmen die Exponentenbits die groben Schranken der Skalierung.
Ein Wert kann innerhalb des endlichen Darstellungsbereichs von binary32 liegen und dennoch zwischen zwei benachbarten darstellbaren Werten fallen.
Darstellungsgenauigkeit
Die Darstellungsgenauigkeit eines Zahlenformats beschreibt, wie viele signifikante Stellen es erhält; bei Gleitkommazahlen bestimmen die Bits des Nachkommaanteils den Abstand bei einer gegebenen Skalierung.
Binary64 erhält mehr signifikante Bits als binary32, was den Rundungsfehler bei derselben Eingabe gewöhnlich verringert.
Datenkompression
Datenkompression verringert den Speicher- oder Übertragungsbedarf, indem Daten mit weniger Bits kodiert werden; die exakte Wiederherstellung hängt davon ab, ob das Verfahren verlustfrei ist.
Ein kleineres kodiertes Bild wird über dieselbe Verbindung schneller übertragen, weil weniger Bits gesendet werden müssen.
Datentyp
Ein Datentyp legt die Art von Wert fest, die ein Programm verarbeitet, und bestimmt mit, wie dessen gespeicherte Bitmuster interpretiert werden.
Ein als vorzeichenbehaftete Ganzzahl interpretiertes Byte kann einen anderen Wert haben als dasselbe vorzeichenlos interpretierte Byte.

E

Einzelbild
Ein Einzelbild eines Videos ist ein Bild in einer zeitlich festgelegten Folge; die Bildrate gibt an, wie viele solcher Bilder pro Sekunde gezeigt werden.
Bei 25 Einzelbildern pro Sekunde enthält eine Sekunde unkomprimiertes Video fünfundzwanzig vollständige Bilder, bevor der Ton mitgezählt wird.
Endliche Binärdarstellung
Eine endliche Binärdarstellung endet nach einer begrenzten Anzahl von Binärstellen; ein vollständig gekürzter Bruch hat genau dann eine solche Darstellung, wenn sein Nenner eine Zweierpotenz ist.
Der Bruch 5/8 endet als 0,101₂, während 1/10 eine periodische Folge von Binärziffern benötigt.
Exponentenbias
Ein Exponentenbias ist ein fester Versatz, der zum tatsächlichen Exponenten addiert wird, damit der gespeicherte Exponent ein vorzeichenloses Bitfeld sein kann.
Ein gespeicherter binary32-Exponent von 126 ergibt nach Subtraktion seines Bias von 127 den tatsächlichen Exponenten −1.

F

Farbpalette
Eine Farbpalette ist eine gespeicherte Tabelle ausgewählter Farben, sodass jedes Pixel einen Tabelleneintrag mit einem kleineren Indexwert bezeichnen kann.
Ein Symbol mit sechzehn Farben kann Pixelindizes mit vier Bits verwenden und seine tatsächlichen RGB-Farben in der Palette speichern.
Farbtiefe
Die Farbtiefe ist die Anzahl der Bits, die zur Darstellung des Farbcodes eines Pixels verwendet werden, und bestimmt die Anzahl seiner möglichen verschiedenen Farbcodes.
Ein Palettenindex mit vier Bits kann aus sechzehn Farben auswählen, während RGB mit 24 Bits viel mehr Kombinationen bietet.
Feste Bitbreite
Eine feste Bitbreite ist eine festgelegte Anzahl von Bits, die für jeden Wert reserviert wird und begrenzt, wie viele verschiedene Muster gespeichert werden können.
Ein Zähler mit acht Bits kann kein neuntes gespeichertes Bit hinzugewinnen, wenn ein Ergebnis 256 erreicht; seine Überlaufregel ist entscheidend.
Festkommadarstellung
Die Festkommadarstellung interpretiert gespeicherte Bits mit einer vereinbarten Anzahl von Nachkommastellen und erzeugt so Werte mit gleichen Abständen bei fester Skalierung.
Mit vier Bits für den Nachkommaanteil stellt der rohe Ganzzahlwert 40 in vorzeichenloser Festkommadarstellung 40/16 oder 2,5 dar.

G

Generationsverlust
Generationsverlust ist der weitere Informationsverlust, der sich ansammeln kann, wenn Medien wiederholt mit einem verlustbehafteten Verfahren dekodiert und kodiert werden.
Das Speichern eines bearbeiteten Fotos durch wiederholtes JPEG-Neukodieren kann weitere Verluste hinzufügen, auch wenn jedes gespeicherte Bild ähnlich aussieht.
Gleitkommadarstellung
Die Gleitkommadarstellung speichert ein Vorzeichen, einen Signifikanden und eine durch einen Exponenten angegebene Skalierung und deckt so sehr unterschiedliche Beträge in einem Format ab.
Dasselbe Format kann durch Änderung seines Exponenten eine kleine gemessene Länge und eine viel größere Entfernung darstellen.

H

Hexadezimalsystem
Das Hexadezimalsystem hat die Basis 16 und verwendet die Ziffern 0–9 und A–F, wobei jede Ziffer vier binären Bits entspricht.
Das Byte 11001010 lässt sich kürzer als 0xCA schreiben, wobei für jedes Nibble eine klar erkennbare Ziffer erhalten bleibt.
Hexadezimalziffer
Eine Hexadezimalziffer ist ein einzelnes Zeichen aus 0–9 oder A–F, das an einer Stelle zur Basis 16 einen Wert von null bis fünfzehn angibt.
Die Hexadezimalziffer E bedeutet vierzehn, während der zweistellige Wert 0x14 dezimal zwanzig bedeutet.
Höchstwertiges Bit
Das höchstwertige Bit ist das Bit ganz links in einem geschriebenen Muster mit fester Bitbreite und steht an der höchstwertigen Stelle.
In einem vorzeichenlosen Byte ändert eine Änderung des höchstwertigen Bits den Wert um 128, während die anderen Bits gleich bleiben.
Huffman-Kodierung
Die Huffman-Kodierung erstellt aus Zeichenhäufigkeiten einen präfixfreien Code variabler Länge und gibt häufigen Zeichen kürzere Codes, um die Größe der Nutzdaten zu verringern.
Ein häufiger Buchstabe kann einen Code mit einem Bit erhalten, doch die Datei benötigt auch Informationen, die das Dekodieren ermöglichen.

I

IEC-Binärpräfix
Ein IEC-Binärpräfix skaliert eine Dateneinheit um eine Potenz von 1.024 und verwendet Namen wie Kibi, Mebi und Gibi.
Ein MiB enthält 1.048.576 Bytes, sodass eine Datei mit einer Million Bytes etwas weniger als ein MiB belegt.
IEEE 754
IEEE 754 ist der Standard, der weit verbreitete Gleitkommaformate und ihr Verhalten definiert, einschließlich normaler Werte, Rundung und Sonderwerte.
Binary32 und binary64 folgen IEEE 754, sodass ihre Feldaufteilungen mit einem gemeinsamen Regelwerk dekodiert werden können.
Implizites Bit
Das implizite Bit ist die führende 1, die für einen normalen binären Gleitkommasignifikanden vorausgesetzt wird und Darstellungsgenauigkeit gewinnt, ohne ein Bit im Nachkommafeld zu speichern.
Binary32 speichert 23 Bits für den Nachkommaanteil, hat aber bei normalen Werten 24 signifikante Bits, weil die führende 1 vorausgesetzt wird.

K

Kompressionsartefakt
Ein Kompressionsartefakt ist eine unerwünschte sichtbare oder hörbare Veränderung, die durch Näherungen bei der verlustbehafteten Kodierung entsteht.
Bei einer starken JPEG-Kompression kann eine scharfe Buchstabenkante unscharf werden oder blockförmige Veränderungen in benachbarten Pixeln erhalten.
Kompressionsverhältnis
Das Kompressionsverhältnis ist die ursprüngliche Datengröße geteilt durch ihre komprimierte Größe, wobei beide Größen in derselben Einheit ausgedrückt werden.
Die Verkleinerung einer Datei von 15 MB auf 5 MB ergibt ein Kompressionsverhältnis von 3:1, keine Einsparung von 3 MB.

L

Lauflängenkodierung
Die Lauflängenkodierung ersetzt eine zusammenhängende Folge eines Zeichens durch deren Anzahl und das Zeichen und funktioniert am besten, wenn die Folgen gleicher Zeichen lang sind.
Nach einer Konvention aus Anzahl und Zeichen wird aus „MMMMMMNN“ die Folge „6M2N“, während wechselnde Zeichen größer werden können.

M

MIDI
MIDI speichert oder überträgt Anweisungen für musikalische Darbietungen, etwa Noten und Zeitpunkte, statt der Schallwellenform einer Aufnahme.
Eine MIDI-Melodie kann mit verschiedenen Instrumentenklängen gespielt werden, erhält aber nicht die aufgenommene Stimme eines Sängers.

N

NaN
NaN („keine Zahl“) ist eine besondere Gleitkommakategorie mit einem Exponentenfeld aus lauter Einsen und einem von null verschiedenen Nachkommaanteil.
Eine ungültige numerische Operation wie null geteilt durch null kann NaN statt einer gewöhnlichen Zahl ergeben.
Nibble
Ein Nibble ist eine Gruppe von vier Bits, die sechzehn mögliche Muster ergibt und genau einer Hexadezimalziffer entspricht.
Das Byte 10100111 zerfällt in die Nibbles 1010 und 0111, die den Hexadezimalziffern A und 7 entsprechen.
Niederwertigstes Bit
Das niederwertigste Bit ist das Bit ganz rechts einer ganzen Binärzahl und trägt den Wert der Einerstelle bei.
Das niederwertigste Bit von 10110 ist 0, daher ist die ganze Zahl unabhängig von ihren anderen Bits gerade.

P

Pixel
Ein Pixel ist eine Position im Raster einer Rastergrafik und enthält einen Farbwert oder einen Index, der eine Farbe aus einer Palette auswählt.
Eine Rastergrafik mit 400 × 300 enthält 120.000 Pixel, unabhängig davon, wie groß das Bild angezeigt wird.
Präfixfreier Code
Ein präfixfreier Code enthält kein Codewort, das den Anfang eines anderen bildet, sodass ein Dekodierer Zeichen ohne zusätzliche Trennzeichen erkennen kann.
Mit A = 0, B = 10 und C = 11 werden die Bits 011 unmittelbar als A gefolgt von C dekodiert.

Q

Quantisierung
Die Quantisierung rundet eine gemessene Abtastamplitude auf eine der verfügbaren gespeicherten Stufen und führt dabei einen Fehler ein, der als Rauschen auftreten kann.
Eine höhere Bittiefe verringert die Abstände der Quantisierungsstufen, ohne die Zeitpunkte der Abtastungen zu ändern.

R

Rastergrafik
Eine Rastergrafik stellt ein Bild als rechteckiges Raster aus Pixelwerten mit einer Breite, Höhe und Farbtiefe dar.
Ein digitales Foto wird als Rastergrafik gespeichert, weil jeder Teil seines detailreichen Bildes einen Pixelwert benötigt.
Rasterung
Die Rasterung wandelt Formanweisungen bei einer gewählten Auflösung in ein Pixelraster um, sodass ein Bildschirm das entstehende Bild anzeigen kann.
Der Umriss einer Vektorschrift wird in Bildschirmpixel gerastert, wenn ein Dokument ihre Buchstaben anzeigt.
Redundanz
Redundanz sind wiederholte oder vorhersehbare Informationen, die es ermöglichen können, Daten kürzer zu beschreiben, ohne ihren ursprünglichen Inhalt zu verlieren.
Eine lange einfarbige Zeile enthält Redundanz, die die Lauflängenkodierung durch eine kurze Anzahl ersetzen kann.
RGB
RGB stellt eine Farbe durch die Intensitäten von rotem, grünem und blauem Licht dar, üblicherweise mit acht Bits für jeden Kanal eines Pixels.
Volles Rot und Grün ohne Blau ergeben das gelbe Licht von RGB (255, 255, 0).
Runden zur geraden Endziffer
Das Runden zur geraden Endziffer entscheidet einen Rundungsfall genau in der Mitte zugunsten des darstellbaren Werts mit einem geraden letzten beibehaltenen Signifikandbit.
Eine Ganzzahl genau in der Mitte nahe 2²⁴ kann bei einfacher Genauigkeit abgerundet werden, während ein anderer Wert genau in der Mitte aufgerundet wird.
Rundungsfehler
Ein Rundungsfehler ist die Differenz zwischen einem beabsichtigten exakten Wert und dem darstellbaren Wert, der zum Speichern oder Berechnen gewählt wird.
Die periodische Binärdarstellung von 0,1 wird beim Speichern mit endlicher einfacher oder doppelter Genauigkeit gerundet.

S

SI-Präfix
Ein SI-Präfix skaliert eine Speichereinheit um eine Zehnerpotenz, etwa um tausend für Kilo oder um eine Million für Mega.
Nutzdaten von 2 MB enthalten 2.000.000 Bytes, auch wenn ein System ihre Größe zusätzlich in MiB angibt.
Signifikand
Ein Signifikand ist die Folge signifikanter Ziffern, die mit einer Potenz der Basis skaliert wird; ein normaler binärer Signifikand beginnt mit 1.
In 1,011₂ × 2⁴ ist der Signifikand 1,011₂, während der Exponent seine gesamte Skalierung bestimmt.
Stellenwertdarstellung
Die Stellenwertdarstellung gibt jeder Ziffer einen Wert, der sowohl von der Ziffer selbst als auch von ihrer Stelle in der geschriebenen Zahl abhängt.
Wird eine 1 von der Einerstelle an die Achterstelle verschoben, ändert sich ihr Beitrag von eins auf acht.
Steuerzeichen
Ein Steuerzeichen ist ein Textcode, der die Textverarbeitung steuert, ohne ein gewöhnliches sichtbares Zeichen zu drucken, etwa Tabulator oder Zeilenvorschub.
Der ASCII-Code 10 ist ein Zeilenvorschub, sodass eine Datei ihn verwenden kann, um zwischen den Textbytes einen Zeilenumbruch zu kennzeichnen.
Subnormale Zahl
Eine subnormale Zahl ist ein sehr kleiner Gleitkommawert mit einem Exponentenfeld aus lauter Nullen, einem von null verschiedenen Nachkommaanteil und ohne implizite führende 1.
Subnormale Muster füllen einen Teil der Lücke zwischen dem kleinsten positiven normalen Wert und null.

Ü

Überlauf
Ein Überlauf tritt auf, wenn ein berechnetes Ergebnis außerhalb der Werte liegt, die das gewählte Zahlenformat darstellen kann.
Für einen vorzeichenlosen Zähler mit acht Bits liegt ein Ergebnis von 260 außerhalb des Bereichs 0–255 und erfordert eine Behandlung des Überlaufs.

U

Unicode
Unicode ist ein gemeinsamer Zeichenstandard, der Codepunkte für verschiedene Schriftsysteme zuweist und Kodierungen zum Speichern gültiger Zeichenwerte definiert.
Die Zeichen „A“, „Ж“ und „中“ haben unterschiedliche Unicode-Codepunkte innerhalb desselben Codebereichs.
Unicode-Normalisierung
Die Unicode-Normalisierung wandelt gleichwertige Zeichenfolgen in eine gemeinsame Form um, sodass Zeichenketten mit unterschiedlichen Codepunktfolgen verglichen werden können.
Ein vorkombinierter Buchstabe mit Akzent und seine Folge aus Basisbuchstabe und Akzent können vor dem Vergleich von Zeichenketten normalisiert werden.
Unterlauf
Unterlauf betrifft Ergebnisse, die für eine normale Gleitkommadarstellung zu klein werden und als subnormale Zahlen oder null gespeichert werden können.
Eine Rechnung, die sich null nähert, kann an relativer Genauigkeit verlieren, wenn ihre Ergebnisse in den subnormalen Bereich gelangen.
UTF-8
UTF-8 ist eine Unicode-Kodierung variabler Länge, die ein bis vier Bytes pro gültigem Zeichencodepunkt verwendet und ASCII-Bytes erhält.
Das Wort „café“ benötigt fünf UTF-8-Bytes, weil sein letzter Buchstabe eine Folge von zwei Bytes benötigt.
UTF-16
UTF-16 kodiert gültige Zeichenwerte in einer oder zwei Codeeinheiten mit 16 Bits und verwendet für Werte über U+FFFF ein Surrogatpaar.
Das Emoji „😀“ belegt zwei UTF-16-Codeeinheiten, D83D und DE00, obwohl es ein Codepunkt ist.

V

Vektorgrafik
Eine Vektorgrafik beschreibt Formen durch geometrische Anweisungen, sodass sie in verschiedenen Größen neu gezeichnet werden können, ohne ein gespeichertes Pixelraster zu vergrößern.
Ein SVG-Logo kann Mittelpunkt und Radius eines Kreises beschreiben und diesen Kreis für eine größere Anzeige neu zeichnen.
Verlustbehaftete Kompression
Verlustbehaftete Kompression entfernt ausgewählte Informationen dauerhaft und erzeugt eine kleinere Darstellung, aus der eine Näherung des Originals rekonstruiert wird.
Ein hochwertiges JPEG kann dem Foto visuell nahekommen und dennoch seine ursprünglichen Pixel nicht exakt wiedergeben.
Verlustfreie Kompression
Verlustfreie Kompression erzeugt eine Kodierung, aus der die ursprünglichen Bits einschließlich jedes Text- oder Abtastwerts exakt rekonstruiert werden können.
Ein FLAC-Archiv kann die Audioabtastwerte exakt wiederherstellen, obwohl seine gespeicherte Anzahl von Bytes kleiner ist.
Vorzeichen-Betrag-Darstellung
Die Vorzeichen-Betrag-Darstellung speichert ein Vorzeichenbit getrennt von den Bits des positiven Betrags und ergibt unterschiedliche Muster für positive und negative Null.
In der Vorzeichen-Betrag-Darstellung mit acht Bits bedeutet 10000110 den Wert −6; die sieben niederwertigen Bits geben den Betrag direkt an.
Vorzeichenbit
Ein Vorzeichenbit ist ein Bit, das angibt, ob ein vorzeichenbehafteter Wert negativ ist; seine Interpretation wird durch das Zahlenformat bestimmt.
Im Zweierkomplement zeigt eine führende 1 einen negativen Wert an und trägt zugleich einen negativen Stellenwert.
Vorzeichenerweiterung
Die Vorzeichenerweiterung erweitert eine vorzeichenbehaftete Ganzzahl, indem ihr Vorzeichenbit in jede neue Stelle links kopiert wird, und erhält so den Wert.
Der vorzeichenbehaftete Wert 1010 mit vier Bits wird zu 11111010 erweitert und erhält im Zweierkomplement mit acht Bits den Wert −6.
Vorzeichenlose Ganzzahl
Eine vorzeichenlose Ganzzahl stellt eine nicht negative ganze Zahl mit positiven binären Stellenwerten an jeder Position einer festen Bitbreite dar.
Das Byte 11111111 stellt 255 dar, wenn sein Datentyp eine vorzeichenlose Ganzzahl mit acht Bits festlegt.
Vorzeichenumkehr
Die Vorzeichenumkehr wandelt eine Zahl in ihren additiven Gegenwert um; im Zweierkomplement wird sie durch Invertieren aller Bits und Addieren von eins gebildet.
Die Vorzeichenumkehr des Musters für +6 mit acht Bits ergibt das Muster für −6, während der kleinste Wert kein positives Gegenstück hat.

W

Wahrnehmungsbasierte Kodierung
Wahrnehmungsbasierte Kodierung verringert Mediendaten anhand der menschlichen Empfindlichkeit und gibt Details weniger Platz, die Menschen wahrscheinlich nicht bemerken.
Ein Audiokodierer kann in einer MP3-Hörkopie einen leisen Ton entfernen, der von einem lauteren Klang benachbarter Frequenz verdeckt wird.
Wörterbuchverfahren
Ein Wörterbuchverfahren komprimiert Daten, indem es wiederholte Folgen durch Verweise auf Folgen ersetzt, die dem Dekodierer bekannt sind oder von ihm rekonstruiert werden.
Eine wiederholte Zeichenfolge kann durch einen Abstand zurück im dekodierten Text und eine zu kopierende Länge dargestellt werden.
Wraparound
Wraparound bezeichnet ein Verhalten, bei dem nur eine feste Anzahl niederwertiger Bits behalten wird, sodass gespeicherte Ganzzahlwerte die verfügbaren Muster zyklisch durchlaufen.
Bei vorzeichenlosem Wraparound mit acht Bits wird durch Erhöhen von 254 um drei nach einem vollständigen Zyklus von 256 der Wert 1 gespeichert.

Z

Zeichencode
Ein Zeichencode ist die Nummer, die einem Zeichen durch eine vereinbarte Tabelle zugewiesen wird und die Speicherung von Textzeichen als Bitmuster ermöglicht.
Das Zeichen „3“ hat den ASCII-Code 51, obwohl sein numerischer Ziffernwert drei ist.
Zeichenkodierung
Eine Zeichenkodierung legt fest, wie gültige Zeichenwerte für Speicherung und Übertragung in eine Folge von Codeeinheiten oder Bytes umgewandelt werden.
UTF-8 kodiert „é“ als C3 A9, während eine Codepunktkennzeichnung das Zeichen bezeichnet, ohne diese Bytefolge anzugeben.
Zeichensalat
Zeichensalat ist verstümmelter Text, der entsteht, wenn gespeicherte Bytes beim Lesen mit einer anderen Kodierung dekodiert werden als beim Schreiben.
Das UTF-8-Wort „café“ kann als „café“ erscheinen, wenn seine Bytes als Windows-1252 dekodiert werden.
Zweierkomplement
Das Zweierkomplement ist eine vorzeichenbehaftete Ganzzahldarstellung, bei der das höchstwertige Bit einen negativen Stellenwert hat und die übrigen Bits positive binäre Stellenwerte behalten.
Das Muster 11111010 stellt in einem vorzeichenbehafteten Feld mit acht Bits den Wert −6 dar, bei vorzeichenloser Interpretation aber 250.

#

0x-Präfix
Das 0x-Präfix kennzeichnet die folgenden Ziffern als Hexadezimalschreibweise; es ist eine Schreibweisenkennzeichnung und fügt keine Zahlenstelle hinzu.
In 0x3A tragen die Ziffern 3 und A dreimal sechzehn und zehnmal eins bei; das Präfix kennzeichnet die Basis.

Über diese Einheit

Von StudeliFehler melden

Erstelle deine eigenen Lernmaterialien

Mach aus deinen Notizen, Folien und Dokumenten Lernleitfäden, Übungsfragen, Karteikarten und 6 weitere Tools.

Jetzt starten