k220-Kodierung_von_Zahlen

Page 1

page-01.png

Kapitel 2 – Kodierung

  1. Kodierung von Zeichen
  2. Kodierung von Zahlen
  3. Anwendung: ReTI

Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Institut für Informatik

Page 2

page-02.png

Zahlensysteme

Definition: Ein Zahlensystem ist ein Tripel mit den folgenden Eigenschaften:

  • ist eine natürliche Zahl, die Basis des Stellenwertsystems.
  • ist eine -elementige Menge von Symbolen, den Ziffern.
  • ist eine Abbildung, die jeder Ziffer umkehrbar eindeutig eine natürliche Zahl zwischen und zuordnet.

Page 3

page-03.png

Beispiele für Zahlensysteme

System Basis Ziffern
Dualsystem (Binärsystem) 2
Oktalsystem 8
Dezimalsystem 10
Hexadezimalsystem 16

Page 4

page-04.png

Festkommazahlen

Definition: Eine Festkommazahl ist eine endliche Folge von Ziffern aus einem Zahlensystem zur Basis mit Ziffernmenge .
Sie besteht aus Vorkommastellen () und Nachkommastellen.
Der Wert einer nicht-negativen Festkommazahl

ist gegeben durch

Page 5

page-05.png

Festkommazahlen: Schreibweise

Vorkomma- und Nachkommastellen werden zur Verdeutlichung durch ein Komma oder einen Punkt getrennt:

Um anzudeuten, welches Zahlensystem zu Grunde liegt, wird gelegentlich die Basis als Index an die Ziffernfolge angehängt.

Beispiel ():

Page 6

page-06.png

Negative Festkommazahlen

Im Folgenden werden Basis 2 und 0 Nachkommastellen angenommen.
Bei der Darstellung negativer Festkommazahlen nimmt die höchstwertigste Stelle eine Sonderrolle ein:
Ist , so handelt es sich um eine nichtnegative Zahl.

Bei der Darstellung negativer Zahlen gibt es folgende Alternativen:

Betrag und Vorzeichen:

Einer-Komplement-Darstellung:

Zweier-Komplement-Darstellung:

Page 7

page-07.png

Betrag und Vorzeichen

Beispiel:

000 0
001 1
010 2
011 3
100 0
101 -1
110 -2
111 -3

Der Zahlenbereich ist symmetrisch:
Kleinste Zahl: , größte Zahl:

Man erhält zu die inverse Zahl, indem man das erste Bit komplementiert.
Zwei Darstellungen für die Null (000 und 100 im Beispiel).

Page 8

page-08.png

Einer-Komplement

Beispiel:

000 0
001 1
010 2
011 3
100 -3
101 -2
110 -1
111 0

Der Zahlenbereich ist symmetrisch:
Zwei Darstellungen für die Null (000 und 111 im Beispiel).
Man erhält zu die inverse Zahl, indem man alle Bits komplementiert (siehe Lemma nächste Folie).

Page 9

page-09.png

Einer-Komplement: Inversion

Lemma: Sei eine Festkommazahl, die Festkommazahl, die aus durch Komplementieren aller Bits () hervorgeht.
Dann gilt .

Beweis: ...

Page 10

page-10.png

Zweier-Komplement

Beispiel:

000 0
001 1
010 2
011 3
100 -4
101 -3
110 -2
111 -1

Der Zahlenbereich ist asymmetrisch:
Die Zahlendarstellung ist eindeutig, auch für die Null.
Man erhält zu die inverse Zahl, indem man alle Bits komplementiert und an der niederwertigsten Stelle 1 addiert (siehe Lemma nächste Folie).

Page 11

page-11.png

Zweier-Komplement: Inversion

Lemma: Sei eine Festkommazahl, die Festkommazahl, die aus durch Komplementieren aller Bits () hervorgeht.
Dann gilt .

Beweis: Übung

Page 12

page-12.png

Vorteil von Zweier-Komplement

Wir werden später Schaltungen betrachten, die zwei Zahlen als Eingaben nehmen und ihre Summe oder Differenz an den Ausgängen bereit stellen (Addierer, Subtrahierer).
Es stellt sich heraus, dass diese Schaltungen besonders einfach sind, wenn Negativzahlen im Zweier-Komplement dargestellt werden.
Daher wird in der Praxis oft die Zweier-Komplement-Darstellung verwendet.

Page 13

page-13.png

Festkommazahlen – Übersicht

Betrag mit Vorzeichen:

Einerkomplement:

Zweierkomplement:

Beispiel:

000 0 0 0
001 1 1 1
010 2 2 2
011 3 3 3
100 0 -3 -4
101 -1 -2 -3
110 -2 -1 -2
111 -3 0 -1
Eigenschaft BV Einerkomplement Zweierkomplement
Bereich symmetrisch symmetrisch asymmetrisch
Kleinste Zahl
Größte Zahl
Inverses durch kompl. 1. Bit kompl. alle Bits kompl. alle Bits, add. 1
Null 2 Darstellungen 2 Darstellungen 1 Darstellung

Page 14

page-14.png

Zahlenkodierung

Beantworte folgende Fragen ():

Schreibe im Dezimalsystem:

Page 15

page-15.png

Zahlenkodierung

Beantworte folgende Fragen ():

Schreibe im Dezimalsystem:

Berechne :
5.
6.
7.
8.
9.
10.

Page 16

page-16.png

Beispiel Festkommazahlen

Frage: Welche der Aussagen sind wahr für die Zahl ?

a.
b.
c. ist das (additive) Inverse zu
d.

Page 17

page-17.png

Probleme von Festkommazahlen

Betrachte (positive) Festkommazahlen mit Vor- und Nachkommastellen, Vorzeichenbit .

Keine ganz großen bzw. kleinen Zahlen darstellbar!

  • Größte Zahl:
  • Kleinste Zahl:

Operationen sind nicht abgeschlossen!
ist nicht darstellbar, obwohl die Operanden darstellbar sind.

Rechengesetze wie Assoziativgesetz gelten nicht, da bei ihrer Anwendung evtl. der darstellbare Zahlenbereich verlassen wird!

Beispiel:

Page 18

page-18.png

Gleitkomma-Zahlen

Die verfügbaren Bits werden in Vorzeichen , Exponent und Mantisse unterteilt.

Einfache Genauigkeit (insg. 32 Bit) – "float":

Bit 31 30–23 22–0
Feld Exponent (8 bits) Mantisse (23 bits)

Doppelte Genauigkeit (insg. 64 Bit) – "double":

Bit 63 62–52 51–0
Feld Exponent (11 bits) Mantisse (52 bits)

Implementierungsdetails: siehe IEEE754-Standard, bzw. Computer Architecture Vorlesung.