18
Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik D aten und Codierung Textcodierung Codierung natürlicherZahlen - Stellenwertsysteme - Konvertierung - Elem entareRechenoperationen Codierung ganzerZahlen - Komplementdarstellung Codierung rationalerZahlen - Festpunktdarstellung - G leitpunktdarstellung 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Embed Size (px)

Citation preview

Page 1: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Daten und Codierung

Textcodierung

Codierung natürlicher Zahlen

- Stellenwertsysteme- Konvertierung- Elementare Rechenoperationen

Codierung ganzer Zahlen

- Komplementdarstellung

Codierung rationaler Zahlen- Festpunktdarstellung- Gleitpunktdarstellung

4. Digitale Datendarstellung

Page 2: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Daten

Daten repräsentieren Informationen (einesanwendungsbezogenen Ausschnitts) der realen Welt("Miniwelt") in der Rechenanlage

Sie stellen fundamentale Objekte dar, die erfaßt,gespeichert, verarbeitet, ausgegeben (angezeigt, gedruckt),übertragen und gelöscht werden können

- Verarbeitung der Daten durch Programme modelliert Handlungenin der realen Welt

Einfache Datenstrukturen

- numerische Daten: natürliche Zahlen, ganze Zahlen, rationale Zah-len etc.

- nicht-numerische Daten

Zusammengesetzte Datenstrukturen

- Listen, Bäume, . . .

- Sammlungen von Datensätzen (Dateien)

Page 3: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Codierung

Darstellung der Daten erfolgt mit Symbolen (Zeichen) einesbestimmten Alphabets (endliche Zeichenmenge)

{a, b, c, ..., A, B, C, ...} Alphabet der Buchstaben{rot, gelb, grün} Alphabet der Verkehrsampelsignale{Frühling, Sommer, Herbst, Winter} Alphabet der Jahreszeiten{0, 1, 2, ..9} Alphabet der Dezimalziffern{0, 1} Alphabet der Dualziffern{0, 1, 2, 3, 4, 5, 6, 7} Alphabet der Oktalziffern{0, 1, ... 9, A, B, C, D, E, F} Alphabet der Sedezimalziffern

(Hexadezimalziffern)

Codierung: injektive Abbildung zwischen zwei Alphabeten(beschreibbar durch eine Code-Tabelle)

Binärcodierung: Codierung durch Binärzeichen (Bits)

- bei mehr als 2 Objekten sind mehrere Binärzeichen (Bitfolgen) zurCodierung erforderlich

- mit Folgen aus n Binärzeichen können 2n Symbole codiert werden

Page 4: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Binärcodierung

Computer speichern alle Daten und Programme als Bitfolgen

einfache Darstellungsmöglichkeit durch zweiwertigephysikalische Größen

- Bsp.: Spannung/keine Spannung, positive/negative Magnetisierung,Loch/kein Loch, heller/dunkler Bildpunkt etc.

- geringe Störempfindlichkeit- Speicherbarkeit in integrierten Schaltungen, Magnetbändern, Plat-

ten, Lochkarten, etc.

Alle zählbaren und meßbaren Daten können binärcodiert unddamit durch Computer verarbeitet werden

- Texte, Zahlen, logische Werte, Bilder, Sprache, Musik etc.

Für analoge Daten (stetig veränderliche physikalischeGrößen) ist zunächst eine Diskretisierung (Rasterung)erforderlich, bevor eine Binärcodierung (Digitalisierung)erfolgt

Digitalisierung kann durch geeignete Wahl der Bitanzahlbeliebig genau gemacht werden

Page 5: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Darstellung von TextenBinärcodierung von Groß- und Kleinbuchstaben, Ziffern,

Satzzeichen sowie einiger nicht-druckbaren Sonderzeichen(Carriage Return, Tabulatorzeichen, etc.)

Verbreitetste Festlegung: ASCII (American Standard Codefor Information Interchange)

- Normierung umfaßt 7 Bit (128 Zeichen)- erweiterte ASCII-Codes (8 Bit) umfassen sprachspezifische Son-

derzeichen wie Umlaute und Grafiksymbole (nicht einheitlich)

Auszug aus der Code-Tabelle

Zeichen ASCII (dezimal) ASCII (dual)0 48 001100001 49 001100019 57 00111001A 65 01000001B 66 01000010Z 90 01011010[ 91 01011011a 97 01100001b 98 01100010z 122 01111010

- die Ziffern 0 bis 9 stehen in der natürlichen Reihenfolge- Klein- und Großbuchstaben sind in alphabetischer Reihenfolge

durchnummeriert, jedoch in getrennten Bereichen (ihre Codierungunterscheidet sich nur im 3. Bit von links)

Page 6: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Codierung von natürlichen Zahlen

Stellenwert-Codierung natürlicher Zahlen:

Zu jeder natürlichen Zahl z und jeder Basis b >= 2 gibt esgenau eine natürliche Zahl n > 0 (Stellenanzahl) und eineZiffernfolge xn-1 xn-2 ... x1 x0 mit

Beispiele:

32110 =

10011102 =

7E416 =

Computerspeicherung natürlicher Zahlen in Dualdarstellungwesentlich kompakter als in Dezimaldarstellung

Wortlänge 16 Bit unterstützt Zahlenbereich 0 bis 216-1(=65535)

1

0

n

i

z = xi bi = xn-1 bn-1 + ... + x1 b + x0

Page 7: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Umrechnung zwischen Zahlsystemen(Konvertierung)

Horner -Algorithmus zur Berechnung von Polynomwerten

Polynom k-ten Grades (k N) mit reellem Koeffizienten ai :

p(x) = akxk + ak-1x

k-1 + ... + a1x + a0

sukzessives Ausklammern von x :

p(x) = (akxk-1 + ak-1x

k-2 + ... + a1)x + a0

= (...(akx + ak-1)x + ak-2)x + ... + a1)x + a0

Algorithmus (HORNER-Schema)

y0 := ak

FOR i := 1 TO k DOyi := yi-1

. x + ak-i

END ; ( * FOR * )( * Ergebnis : yk = p(x) * )

Konvertierung

A) beliebiges b-adisches Zahlsystem Dezimalsystem

B) Dezimalsystem beliebiges b-adisches Zahlsystem

C) zwischen beliebigen b-adischen Zahlsystemen

.

.

.

Page 8: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Fall A) 3 Teilfälle: Zahl z Nz P, 0 < z < 1z P, 1 < z

Voraussetzung: b-adische Zahldarstellung für z N

cb(z) = akak-1 ... a0 ist endlich!

(anlog für z P!)

z natürlich (1.Teilfall) z N

z = ai bi

=(...(akb + ak-1)b + ak-2)b + ... + a1)b + a0

Berechnung von c10 (z) : gemäß HORNER-Schema

Klammern von innen nach außen ausmultiplizieren,d.h. folgendes Rechenschema :

Koeff. von cb(z) 0 * b + „linker Spaltenwert“ak

ak-1

.

.

.a1

a0

y0

y1

.

.

.yk-1

yk = c10(z)

alle Rechnungen im Dezimalsystem ausführen, vorher Koeffizienten ai

ins Dezimalsystem umwandeln!

k

i 0

.

.

Page 9: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

m

i 1

z

z z z

z echter endlicher Bruch (2.Teilfall) z P, 0 < z < 1

cb(z) = 0. a-1 a-2 ... a-m , z = a-i b-i

z = b-1(a-1 + b-1(a-2 + b-1(a-3+ ... + b-1(a-m+1 + b-1a-m) ... )

Rechenschema:

Koeff. von cb(z) 0 * b-1 + „linker Spaltenwert“a-m

a-m+1

a-m+2

.

.

.a-1

0

z0

z1

z2

.

.

.zm-1

zm = c10(z)

mit

zi/b < 1 für 0 i m-1

zz = +

.1 0 a a aka a -2cb(z) = a k-1 ... a -1 ... -m

N

P, 0 < < 1

.

.

z unechter endlicher Bruch (3.Teilfall) z P, 1 < z

zi = a-m+i + b-1(...b-1(a-m+1 + b-1a-m) ... )

Page 10: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Fall B) 3 Teilfälle: Zahl z Nz P, 0 < z < 1z P, 1 < z

z natürlich (1.Teilfall) z N

c10(z) = dk dk-1 ... d0

z = di 10i

gesucht: z = ai bi

= (...(ak b + ak-1)b + ak-2)b + ... +a1)b + a0

Ziffern ai: beginnend bei a0 als Rest dersukzessiven Division von z durch b

: b

c10(z) Resty1

y2

.

.

.yk

0

a0

a1

.

.

.ak-1

ak

yi = (...(akb + ak-1) b + ... + ai+1) b +ai)

yi N

cb(z) = akak-1 ... a1a0

k

i 0

k

i 0

Page 11: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

z echter endlicher Bruch (2.Teilfall) z P, 0 < z <1

c10(z) = 0. d-1 d-2 ... d-j

z = d-i 10-i

z = a-i b-i (gesuchte Darstellung)

z = b-1 (a-1 + b-1(a-2 + ... +b-1( a-m+1 + b-1a-m) ... )

Koeffizienten a-1 , ... , a-m durch fortlaufende Multiplikation der Dezimaldarstellung von z mit b

Rechenschema:

ganzzahliger Anteil c10(z) * ba-1

a-2

.

.

.a-m

y1

y2

.

.

.ym

yi = b-1(a-i-1 + ... + b-1(a-m+1+ b-1a-m)...)

a-i-1 N , a-i-1 < b

0 yi < 1 für 1 i m

cb(z) = 0. a-1a-2 ... a-m

ist die gesuchte Darstellung

z unechter endlicher Bruch (3.Teilfall) z P, 1 < z

analog zu Fall A

j

i 1

m

i 1

.

.

Page 12: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Rechnen mit natürlichen Dualzahlen

Addition

0 + 0 = 01 + 0 = 10 + 1 = 11 + 1 = 10 (0 Übertrag 1)Addition mehrstelliger Dualzahlen analog zum Dezimalsystem

Multiplikation

0 • 0 = 00 • 1 = 01 • 0 = 01 • 1 = 1

Multiplikation mehrstelliger Dualzahlen analog zumDezimalsystem

Subtraktion kann auf Addition negativer Zahlen, Division aufFolge von Additionen, Multiplikationen und Vergleichezurückgeführt werden

Page 13: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Darstellung von ganzen Zahlen

Standard-Datentyp INTEGER

Unterscheidung zwischen positiven und negativen Zahlendurch Vorzeichenbit (z.B. 0 = +, 1 = -)

- Zahlenbereich für n Bit: - 2n-1 +1 bis +2n-1 -1

- Beispiel für n=4 (-7 bis +7):

0000 = +00001 = +10010 = +20011 = +3

0100 = +40101 = +50110 = +60111 = +7

1000 = -01001 = -11010 = -21011 = -3

1100 = -41101 = -51110 = -61111 = -7

Nachteile: zwei Repräsentationen für 0;komplizierte Rechenoperationen

Alternative: (Zweier-) Komplementdarstellung

Page 14: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Komplementdarstellung

Negative Zahl -z wird durch Zweierkomplement von zrepräsentiert, nämlich 2n - z(entspricht Stellenkomplement der Dualzahl + 1)

Binäre Ziffernfolge xn-1 xn-2 .. x1 x0 repräsentiert die Zahl

xn-1 • (-2n-1) + xn-2 • 2

n-2 +... + x1 • 2 + x0

Darstellbarer Zahlenbereich: - 2n-1 bis +2n-1 -1

- n=4: Bereich -8 bis +7

- n=32: Bereich -2 147 483 648 bis +2 147 483 647

1000 = -81001 = -71010 = -61011 = -5

1100 = -41101 = -31110 = -21111 = -1

0000 = 00001 = 10010 = 20011 = 3

0100 = 40101 = 50110 = 6

0111 = 7

Vorzeichen wird weiterhin durch erstes Bit bestimmt

Addition negativer Dualzahlen kann wie für natürlicheZahlen erfolgen

Page 15: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

D a r s t e l l u n g v o n r a t i o n a l e n Z a h l e n

D a n u r 2 n W e r t e e x a k t d a r s t e l l b a r s i n d , m ü s s e n a l l ea n d e r e n d e r u n e n d l i c h v i e l e n r a t i o n a l e n Z a h l e n d u r c h e i n e nb e n a c h b a r t e n W e r t a p p r o x i m i e r t w e r d e n

J e d e n i c h t n e g a t i v e r a t i o n a l e Z a h l z k a n n e i n d e u t i g i ng a n z z a h l i g e n A n t e i l z 1 > = 0 u n d

g e b r o c h e n e n A n t e i l 0 < = z 2 < 1 z e r l e g t w e r d e n m i t

z = z 1 + z 2

F e s t p u n k t d a r s t e l l u n g f ü r z i m S t e l l e n w e r t s y s t e m m i t n ( = k + m ) S t e l l e n u n d B a s i s b

x k - 1 x k - 2 . . . x 1 x 0 . y 1 y 2 . . . y m b e d e u t e t

K o n v e r s i o n e n a n a l o g z u g a n z e n Z a h l e n

0 . 1 1 0 1 0 1 2 =

0 . 5 1 0 =

E i n f a c h e D e z i m a l b r ü c h e e r g e b e n j e d o c h o f t p e r i o d i s c h eD u a l b r ü c h e :

0 . 1 1 0 = 0 . 0 0 0 1 1 0 0 1 1 . . . 2

z x i b i

i 0=

k 1– y i b

i–

i 1=

m+=

Page 16: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Gleit- oder Fließpunktdarstellung

Standard-Datentyp REAL (FLOAT)

Halblogarithmische Zahlendarstellung für alle Zahlenmöglich

sinnvoll v.a. bei sehr großen bzw. sehr kleinen Zahlen

Gleitpunktzahl besteht aus Mantisse und Exponent,

bei der Darstellung von Gleitpunktzahlen erfolgen- Normierung der Mantisse (Wertebereich 0.1 bis 1)- Überführung des vorzeichenbehafteten Exponenten e in eine

positive Charakteristik c durch Addition einer Konstanten k

Darstellung im IEEE-Standard

- kleinste positive Zahl: 2-126 (ca. 1.2 • 10-38)

- größte positive Zahl: (2 - 2-23)•2127 (ca. 3.4 • 1038)

- größter relativer Fehler 2-24

- Genauigkeit etwa 7 Dezimalstellen

aufwendigere Rechenoperationen- Leistungsmaß FLOPS (Floating Point Operations Per Second)

31 23 0

1 8 23

v c m

X = (-1)v (1.m) 2c-127

Sonderdarstellung der 0: c = 0, m = 0

Page 17: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Darstellung logischer Werte

2 Wahrheitswerte (Boolesche Werte):TRUE (wahr) undFALSE (falsch)

Codierung durch 1 Bit möglich

Boolesche Werte dienen zur Festlegung der Wahrheitswertevon Aussagen (z.B. Beziehungen)

Relation 5 < 7 hat Wahrheitswert

Relation 7 < 5 hat Wahrheitswert

Aussage "Der Mars ist bewohnt" hat Wahrheitswert

Relation x = 0 hat Wahrheitswert

Operationen der Aussagelogik anwendbar: Negation(NOT), Konjunktion (AND), Disjunktion (OR), ExklusivesOder (XOR), etc.

NOT

T

F

XOR T F

T

F

AND T F

T

F

OR T F

T

F

Page 18: Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik 4. Digitale Datendarstellung

Digitale Informationsverarbeitung (Magister) R. Der - Institut für Informatik

Beobachtung

Da sämtliche Daten und Programme (Befehle) binärcodiertwerden, kann eine bestimmte Bitfolge unterschiedliche Dingebedeuten

Bitmuster: 01100001 01100010 01100011 01100100

ASCII-Zeichen abcdganze Zahl 1 633 837 924Gleitpunktzahl 0.7608150709 ... • 2-30

Befehl LOAD 6447972• • •

Interpretation v.a. abhängig vom Ort der Verarbeitung: Steuer-werk, Rechenwerk für ganze Zahlen, Rechenwerk für Gleit-punktzahlen, ...

Programmierer mitverantwortlich für Bereitstellung der"richtigen" Eingabedaten