Grundstrukturen: Speicherorganisation und Zahlenmengen



Ähnliche Dokumente
Einführung in die Informatik I

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Lösungen: zu 1. a.) b.) c.)

Binäre Gleitkommazahlen

Computerarithmetik ( )

2 Darstellung von Zahlen und Zeichen

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Grundlagen der Informatik

Das Rechnermodell - Funktion

Vertiefungsstoff zum Thema Darstellung von Zahlen

Binärdarstellung von Fliesskommazahlen

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Zahlendarstellungen und Rechnerarithmetik*

Zahlensysteme Seite -1- Zahlensysteme

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Technische Informatik - Eine Einführung

Zahlensysteme. Formale Methoden der Informatik WiSe 2010/2011 Folie 1 (von 71)

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Das Maschinenmodell Datenrepräsentation

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

2 Rechnen auf einem Computer

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

a) Da die Zahlen im IEEE-32Bit-Format dargestellt werden sollen, ist der Bias = 127.

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013

Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

2. Negative Dualzahlen darstellen

Binär- und Hexadezimal-Zahl Arithmetik.

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Informationsdarstellung im Rechner

1. Stellenwerte im Dualsystem

Teil II. Schaltfunktionen

Mikro-Controller-Pass 1

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen

7 Rechnen mit Polynomen

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Eine Logikschaltung zur Addition zweier Zahlen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Dezimalkomma (decimal point) rechts von Stelle mit Wertigkeit 100 nachfolgende Stellen haben Wertigkeit 10-1, 10-2, etc.

Zeichen bei Zahlen entschlüsseln

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Primzahlen und RSA-Verschlüsselung

N Bit binäre Zahlen (signed)

1 Mathematische Grundlagen

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Binäre Division. Binäre Division (Forts.)

Information in einem Computer ist ein

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Einführung in die Algebra

Plotten von Linien ( nach Jack Bresenham, 1962 )

2.0 Zahlendarstellung, Konvertierungsalgorithmen und arithmetische Algorithmen

Lineare Gleichungssysteme

Algorithmen zur Integer-Multiplikation

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Repräsentation von Daten Binärcodierung ganzer Zahlen

Wie lässt sich die Multiplikation von Bruchzahlen im Operatorenmodell und wie im Größenmodell einführen?

Zahlensysteme. von Christian Bartl

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Übungen zu Informatik 1

Technische Grundlagen der Informatik Kapitel 8. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Kapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik

Woraus besteht ein Bild? (c) Winfried Heinkele

Übung RA, Kapitel 1.2

Negative Zahlen. Lösung: Ordne in einen Zahlenstrahl ein! 7;5; 3; 6. Das Dezimalsystem

2 Einfache Rechnungen

Einführung in die Programmierung

Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Im Original veränderbare Word-Dateien

Einführung in. Logische Schaltungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring

Leseprobe. Taschenbuch Mikroprozessortechnik. Herausgegeben von Thomas Beierlein, Olaf Hagenbruch ISBN:

1 Einführung. 1.1 Analog - Digital Unterscheidung

Lineare Gleichungssysteme

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

3 Rechnen und Schaltnetze

Repetitionsaufgaben: Lineare Gleichungen

, WS2012 Übungsgruppen: Mo.,

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

Modul 114. Zahlensysteme

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Die reellen Lösungen der kubischen Gleichung

Der Zwei-Quadrate-Satz von Fermat

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Inhalt: Binärsystem 7.Klasse - 1 -

Musterlösungen zur Linearen Algebra II Blatt 5

Numerisches Programmieren, Übungen

4 Binäres Zahlensystem

4 Vorlesung: Matrix und Determinante

Lektion 1: Von Nullen und Einsen _ Die binäre Welt der Informatik

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Grundlagen der Informatik (BSc) Übung Nr. 5

TOTAL DIGITAL - Wie Computer Daten darstellen

Klassenarbeit zu linearen Gleichungssystemen

Technische Informatik I

Transkript:

Zahlendarstellung Zahlen und ihre Darstellung in Digitalrechnern Grundstrukturen: Speicherorganisation und Zahlenmengen Linear organisierter Speicher zu einer Adresse gehört ein Speicher mit 3 Bit-Zellen ( Wort breit ) adresse Linearer Speicher bit MSB 3 4 3 6 5 8 7 LSB Halbwort byte Grundstrukturen: Speicherorganisation und Zahlenmengen Zahlenmengen (N o Z Q R C) natürliche Zahlen ganze Zahlen = natürliche Zahlen und negative ganze Zahlen rationale Zahlen = ganze Zahlen und gebrochene zahlen reelle Zahlen = rationale Zahlen und irrationale Zahlen komplexe Zahlen = reelle Zahlen und echt imaginäre Zahlen

Ganzzahlendarstellung Basis-Zahlendarstellung: zahl = a i b n i= die Basis b ist aus den natürlichen Zahlen die Ziffer a i ist aus den natürlichen Zahlen a i b- die Darstellung ist eindeutig Schreibweise: zahl = (a n... a ) b Beispiel: (4) = 3 + + + 4 gebräuchliche Zahlenbasen: (Binär-System) 8 (Oktal-System) (Dezimal-System) 6 (Hexadezimal-System) i Multiplikation/Division mit b: shift der Zahl-Ziffernfolge um Stelle nach links/rechts Ganzzahlendarstellung Konvertierung zwischen zwei Basen: n i n zahl = ai b = anb + an i= n n zahl = ( L( a b + a ) b + K) b + a n b + K+ a b + a ( Horner-Schema) Basis b Basis Eingabe: b, Feld a[..k] Ausgabe: Dezimalzahl vorwärts: von links nach rechts Basis Basis b Eingabe: Dezimalzahl, neue Basis b Ausgabe: Feld a[..k] (neue Ziffernfolge) rückwärts: von rechts nach links zahl := ; FOR i:=n TO BY - DO; zahl := zahl b + a[i] END; i := ; a[i] := ; WHILE zahl> DO a[i] := zahl MOD b; zahl := zahl DIV b; i := i+ END;

Ganzzahlendarstellung Konvertierung zwischen zwei Basen: (cont d) Beispiel: (36) 8 (?) 3 Schritt : (36) 8 Dezimalzahl n = : (36) 8 = (( 8 + ) 8 + 3 ) 8 + 6 = 58 = (58) Schritt : Dezimalzahl (?) 3 b = 3 (58) : 58 / 3 = 5 Rest 5 / 3 = 7 Rest 7 / 3 = 5 Rest 5 / 3 = Rest / 3 = Rest also: (58) = (((( 3 + ) 3 + ) 3 + ) 3 + ) 3 + = () 3 wobei: (... ) = 5, (... ) = 7, (... ) = 5, (... ) =, Ganzzahlendarstellung Spezialfall: Konvertierung zwischen Basen k : von rechts nach links: Zusammenfassen von jeweils k benachbarten Ziffern Beispiel mit der Zahl (3) : Die Darstellung zur Basis b= soll in die zur Basis b=8 umgewandelt werden, d.h. k=3: ( ) 8 7 6 5 4 3 = + + + + + 6 3 = ( + + ) + ( + ) + ( + + ) = 4 8 + 5 8 + 4 8 = (454) 8 Spezialfall: Konvertierung zwischen Basen k : selbst nachdenken! 3

Negative Zahlen im Binärsystem (Dualsystem) Allgemeines Die Anzahl der darstellbaren Zahlen ist beschränkt! (abhängig von der Wortlänge) Wortlänge = 8bit N = 8 = 56 versch. /-Kombinationen 56 verschiedene Zahlen darstellbar, z.b.... 55 (= N - ) Unser Rechner kann nur addieren, besitzt lediglich ein Addierwerk, kein Subtrahierwerk; letztlich heisst das, auch Multiplikationen und Divisionen muss das Addierwerk erledigen! Frage: Kann man sich im Bereich der Dezimalzahlen einen Algorithmus vorstellen, der mittels Addition eine Subtraktion durchführt? (unter der Nebenbedingung, dass die Anzahl der darstellbaren Zahlen beschränkt ist) Idee: falls x >, dann nix: x x falls x <, dann: x N - x Negative Zahlen im Binärsystem (Dualsystem) 4 Möglichkeiten der Darstellung Vorzeichen und Betrag ( signed magnitude ) das fällt einem sofort ein: nehme das Bit ganz links als Vorzeichen: + ; die restlichen Bits stellen den Betrag der Zahl dar. Beispiel: Wortlänge n = 4 Bit N = 4 = 6 versch. /-Kombinationen 6 verschiedene Zahlen darstellbar, bisher (kardinal)... 5 (= N - ), jetzt (integer) -7... +7, also -( n- - )... +( n- - ) Problem : es gibt zwei Nullen: + ; - also: Eine Zahl aber zwei unterscheidbare(!) Bitfolgen Problem : Bei dieser Darstellung ist eine Addierwerk und ein Subtrahierwerk notwendig; es gibt keinen Algorithmus der Subtraktion per Addition erledigt für diese Darstellung. Problem 3: Es ist eine Logik erforderlich zur Entscheidung ob Addition oder Subtraktion auszuführen (4 Vorzeichenfälle) 4

Negative Zahlen im Binärsystem (Dualsystem) 4 Möglichkeiten der Darstellung (cont d) Einer-Komplement (One s Complement) gebildet durch stellenweises Invertieren der Originalzahl:, addiert man zur Originalzahl ihr Einer-Komplement (= Invertierte) so ergibt sich immer eine Folge von Einsen. Eine Folge von Einsen ist nichts anderes als (die Invertierte der) Null, also - (+ Folge von Nullen), d.h. man hat zur Originalzahl deren Negatives addiert. Beispiel: Wortlänge n = 4 Bit N = 4 = 6 versch. /-Kombinationen 6 verschiedene Zahlen darstellbar, bisher (kardinal)... 5 (= N - ), jetzt (integer) -7... +7, also -( n- - )... +( n- - ) Problem besteht noch: es gibt zwei Nullen: + ; - also: Eine Zahl aber zwei unterscheidbare(!) Bitfolgen Problem ist gelöst: Bei dieser Darstellung genügt ein Addierwerk; Subtraktion bedeutet Addition des Negativen. Problem 3 (Logik) stellt sich nicht mehr. Problem 4: = -4 oder +?? durch beschränkten Zahlenbereich -7.... +7 gelöst. Bit ganz links: negative Zahl, positive Zahl Negative Zahlen im Binärsystem (Dualsystem) 4 Möglichkeiten der Darstellung (cont d) Zweier-Komplement (Two s Complement) gebildet durch das Einer-Komplement mit nachfolgender Addition von addiert man zur Originalzahl ihr Zweier-Komplement (= Invertierte + ) so ergibt sich immer eine mit nachfolgenden Nullen; die Anzahl der Stellen ist um eine gewachsen. Streicht man die führende, so sind die nachfolgenden Nullen nichts anderes als Null, man hat zur Originalzahl deren Negatives addiert. Beispiel: Wortlänge n = 4 Bit N = 4 = 6 versch. /-Kombinationen 6 verschiedene Zahlen darstellbar, bisher (kardinal)... 5 (= N - ), jetzt (integer) -8... +7, also -( n- )... +( n- - ) Problem besteht nicht mehr: ; - Problem ist gelöst: Bei dieser Darstellung genügt ein Addierwerk; Subtraktion bedeutet Addition des Negativen. Problem 3 (Logik) stellt sich nicht mehr. Problem 4: = -5 oder +?? durch beschränkten Zahlenbereich -8.... +7 gelöst. Bit ganz links: negative Zahl, positive Zahl 5

Negative Zahlen im Binärsystem (Dualsystem) 4 Möglichkeiten der Darstellung (cont d) Zweier-Komplement (cont d) übrigens: Im Zweier-Komplement stimmt die Dualdarstellung von -5 mit der von 4-5 = 6-5 = überein: (5) = () Zweier-Komplement von (5) : () + = () = () Beispiel mit Dezimalzahlen (b = ): Es sei n = N = = verschiedene Dezimalzahlen, entweder kardinal... 99 (= N - ) oder (integer) -5... +49, also -5 n-... + 5 n- - Originalzahl sei (z.b.): 3 Ihr Zehner-Komplement: - 3 = 77. 77 ist nicht im Zahlenbereich -5... +49; 77 ist die Darstellung von -3 im Zehner-Komplement (x<: x N - x ). addiert man zur Originalzahl ihr Zehner-Komplement, so ergibt sich immer eine mit nachfolgenden Nullen (hier ); die Anzahl der Stellen ist um eine gewachsen. Streicht man die führende, so sind die nachfolgenden Nullen nichts anderes als Null, man hat zur Originalzahl deren Negatives addiert, also eine Darstellung von -3. Statt (z.b) 36-3 = 3 kann man auch rechnen: 36 + 77 = 3 Statt (z.b) 4-3 = - 9 kann man auch rechnen: 4 + 77 = 9 = - 9 Negative Zahlen im Binärsystem (Dualsystem) 4 Möglichkeiten der Darstellung (cont d) Zweier-Komplement (cont d) häufigst genutzte rechnerinterne Darstellung negativer ganzer Zahlen. Beispiel mit Dualzahlen (b = ): Dual zu berechnen: 85-3 = -8 (85) = () Es sei n = 8 N = 8 = 56 verschiedene Dezimalzahlen: -8... +7 Aus der Subtraktion -3 soll eine Addition werden: Originalzahl ist: (3) = () Ihr Zweier-Komplement: + =. Subtraktion Addition: + = Anzahl der Stellen nicht gewachsen Keine Streichung der führenden, die ganz links zeigt ein negatives Ergebnis, d.h. Ergebnis liegt als Zweier-Komplement vor Übersetzung = Bildung Zweier-Komplement: + = = (8) Das negative Ergebnis lautet -8 6

Negative Zahlen im Binärsystem (Dualsystem) 4 Möglichkeiten der Darstellung (cont d) Exzess n- der gesamte darstellbare Zahlenbereich (positive und negative Halbachse) wird auf die positive Halbachse abgebildet exzess-zahl = zahl + n- Beispiel mit n = 8, d.h. Exzess = Shift = 8- = 7 (-3) -3 + 8 = (5) = () Die Darstellungen sind mit denjenigen der Zweier-Komplement- Darstellung bis auf das invertierte linke Bit ( Vorzeichen ) identisch Negative Zahlen im Binärsystem (Dualsystem) Vergleich der 4 Systeme (n=4) Dual Vorz./Betrag Einer-Kompl. Zweier-Kompl. Exzess + + 8 + + + 7 + + + 6 + 3 + 3 + 3 5 + 4 + 4 + 4 4 + 5 + 5 + 5 3 + 6 + 6 + 6 + 7 + 7 + 7 7 8 6 7 + 5 6 + 3 4 5 + 3 4 3 4 + 4 5 3 + 5 6 + 6 7 + 7 7

Negative Zahlen im Binärsystem (Dualsystem) Zahlenring (n=8) für Dualzahlen und Zweier-Komplement Gleitkommazahlen: Darstellung und Arithmetik Gleitkommazahlen Zahlenmenge rationale Zahlen: r = a/b b r=a/b a Zahlenstrahl reelle Zahlen: Hinzunahme von nicht-rationalen Zahlen: π, e, Die reellen Zahlen in ihrer mathematischen Bedeutung stellen ein Kontinuum dar (jedes beliebig große Intervall auf dem Zahlenstrahl enthält unendlich viele Werte) 8

Gleitkommazahlen Zahlenmenge (cont d) Wertebereich REAL (Gleitkommazahlen) im Rechner stellt eine endliche Menge von Repräsentanten von Intervallen des Kontinuums dar. Diskretisierung numerische Darstellung Verarbeitung von Daten des Typs REAL nicht exakt ( numerische Mathematik) Gleitkommazahlen mathematisch reelle Zahlen mathematisch rationale Zahlen Gleitkommazahlen Zahlendarstellung (Konrad Zuse, 937) zahl = m b m : Mantisse, -M < m < +M Normalform: /b m < oder m = b : Basis, z.b., aber auch kleine Potenz von :, 4, 8, 6 e : Exponent, -E e +E, auch -E e +E alle Werte M, b, E sind rechnerabhängig Aufbau: zahl = ±.a a...a µ b e e. = / = /b ist kleinstmöglicher Mantissenbetrag! Warum? Der nächstkleinere Zahlenbetrag wäre:.99-99 wegen normierter Darstellung:.99-99.99 - Das ist unmöglich wegen zweiziffrigem Exponent! mit a (normalisierte Darstellung) und a i b- Beispiel: b =, Mantisse m: 3 Ziffern, Exponent e: Ziffern Mantisse: / m < oder Exponent: -99 e +99 darstellbarer Bereich:.999 99.... -99 +. -99... +.999 99 Multiplikation/Division mit b: shift der Zahl-Ziffernfolge um Stelle nach links/rechts oder e e+ / e e- 9

Gleitkommazahlen Die Mantisse ist somit um Bit länger als gedacht, weil a nicht gespeichert werden muss! Normalisierung Darstellung der Mantisse in Normalform: /b m < eine Mantisse mit gesetztem Führungsbit a heisst normalisiert zahl = ±.a a...a µ b e mit a = durch die Normalisierung wird die Gleitpunktdarstellung eindeutig Rechnerinterne Repräsentation der verfügbare Platz (hier Byte) wird in Felder aufgeteilt 5 8 7 Vorzeichen Exponent Mantisse Für arithmetische Operationen muss bei hardwaremäßiger Realisierung hoher Aufwand betrieben werden, daher Software-Realisierung Spezialprozessoren Leistungsdaten: MIPS, FLOPS Gleitkommazahlen Beispiel einer 3 Byte breiten Zahlendarstellung (Basis b = ) Vorzeichen Exponent 3 5 6 Mantisse Vorzeichen:, also + Exponent e: Breite: 7 Bit Exzess 64(= 7- ) - Darstellung () = (84) 84-64 = b e = = 48576 Mantisse m: Breite: 6 Bit Darstellung der Mantisse: 6 a j j= m = j = = ( + 4 = 7 6 Zahl: zahl = + 7-6 = + 43 3 + 3 5 + 6 ) 6

Gleitkommazahlen Beispiel (cont d) Normalisierung: zahl = = 3 4 5 6 ( + ) 3 4 ( ( + 5 = ( + 9 3 4 5 Vorzeichen: bleibt, also + Exponent e: Breite: 7 Bit Exzess 64(= 7- ) - Darstellung 9 + 64 = 73 (73) = () Exponent e um dekrementiert Mantisse m: Breite: 6 Bit Mantisse um Bit nach links geschoben ) ) Vorzeichen Exponent Mantisse Zahl bleibt erhalten: zahl = + 7-5 9 = + 43 Gleitkommazahlen REAL-Zahlen auf dem Zahlenstrahl Beispiel: b =, Mantisse m: 3 Ziffern, Exponent e: Ziffern negative overflow negative underflow NULL 99 -.999 -.999 99 ausdrückbare negative Zahlen positive underflow ausdrückbare positive Zahlen - -. -99 +. -99 + positive overflow jede REAL-Zahlen repräsentiert ein Intervall der reellen Zahlen; das Intervall wächst mit zunehmendem Betrag der Zahl, d.h. die Dichte der Repräsentation nimmt mit zunehmendem Betrag der Zahl ab. Eine Abschätzung des Einflusses der Ungleichverteilung der Repräsentanten auf die rechenoperationen ist nicht trivial. Behandlung von overflow/underflow, Null, undefiniert? IEEE Floating-Point Standard 754 (985) (siehe A.S. Tanenbaum)

Gleitkommazahlen Probleme Test: Assoziativgesetz (Beispiel mit 4-stelliger Arithmetik) x = 9.9, y =., z = -.999 (x+y) + z =.9 + (-.999) = 9.9 x + (y+z) = 9.9 +. = 9.9 Test: Distributivgesetz (Beispiel mit 4-stelliger Arithmetik) x =., y = -5., z = 5. (x y) + (x z) = (-55) + 55 =. x (y+z) =.. =. Auslöschung Bei der Subtraktion zweier fast gleich großer Werte heben sich die signifikanten Ziffern auf und die Differenz verliert dadurch an Signifikanz (z.b. Differenzenquotient) Überlaufgefahr... bei Division durch kleine Werte Gleitkommazahlen Rechnerarithmetik x = m, y = m x Addition e e x y y x + y = ( m Subtraktion x y = ( m Multiplikation x x ex ey ex ey x y = ( m x m y ) Division + m m e x + e y x y = ( m x m y ) y y e x e y ) ) ey ey falls falls e e x x e e y y