Numerik. Festpunkt-Darstellung

Ähnliche Dokumente
Grundzüge der Informatik Tutorium Gruppe 6

Wertebereiche, Overflow und Underflow

bei Unterlauf wird stattdessen Hälfte des Divisors addiert Ersparnisse einer Addition bzw. Subtraktion

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

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

RO-Tutorien 3 / 6 / 12

2.1.2 Gleitkommazahlen

Rechnergrundlagen SS Vorlesung

Gleitkommaarithmetik. Erhöhen der Genauigkeit. Grundlagen der Rechnerarchitektur Logik und Arithmetik 124

, 2015S Übungstermin: Mi.,

WH: Arithmetik: Floating Point

Grundlagen der Technischen Informatik. 4. Übung

Computerarithmetik ( )

Rundungsfehler-Problematik bei Gleitpunktzahlen

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Vorlesung Programmieren

Rechnerstrukturen WS 2012/13

6.2 Kodierung von Zahlen

Numerisches Programmieren

Grundlagen der Computertechnik

Inhalt: Binärsystem 7.Klasse - 1 -

Computergrundlagen Zahlensysteme

Grundlagen der Technischen Informatik. 4. Übung

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

1. Rechnerzahlen, Kondition, Stabilität

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

Zahlen in Binärdarstellung

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

2 Darstellung von Zahlen und Zeichen

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

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

Grundlagen der Technischen Informatik. 4. Übung

1 Grundlagen der Numerik

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

Binäre Gleitkommazahlen

1. Tutorium Digitaltechnik und Entwurfsverfahren

Rechnergrundlagen SS Vorlesung

Numerische Lineare Algebra

5 Zahlenformate und deren Grenzen

TI II: Computer Architecture Data Representation and Computer Arithmetic

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

BB/CS- SS00 Rechner im Überblick 1/1. Ein Stellenwertsystem (Zahlensystem) ist ein Tripel S = (b, Z, δ) mit den folgenden Eigenschaften:

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

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

Einführung in die Systemprogrammierung

Rückblick. Addition in der b-adischen Darstellung wie gewohnt. Informatik 1 / Kapitel 2: Grundlagen

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

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

Übung Programmieren - Zahlendarstellung, SSH, SCP, Shellskripte -

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

2.5 Primitive Datentypen

, WS2012 Übungsgruppen: Mo.,

4. Zahlendarstellungen

2 Rechnen auf einem Computer

Numerik für Ingenieure I Wintersemester 2008

4. Zahlendarstellungen

Vorlesung Informatik I

Grundlagen der Technischen Informatik. 4. Übung

Rechnergrundlagen SS Vorlesung

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK

2.4 Codierung von Festkommazahlen c) Wie lässt sich im Zweier-Komplement ein Überlauf feststellen? neg. pos.

2 Repräsentation von elementaren Daten

Darstellung rationaler und reeller Zahlen Vorlesung vom

II. Grundlagen der Programmierung

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

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

Einführung in die Informatik

Einführung in die Informatik

Lösung 2. Übungsblatt

Die Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2

1 Fehleranalyse, Kondition, Stabilität

Zahlenformate. SigProc-4-Zahlenformate 1

Kapitel 5: Daten und Operationen

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

2.5. Gleitkommaarithmetik

Einführung in die Computerorientierte Mathematik

, 2016W Übungstermin: Fr.,

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

Computer-orientierte Mathematik

2 Gleitpunktarithmetik und Fehleranalyse

Fehler in numerischen Rechnungen

Numerische Verfahren und Grundlagen der Analysis

3 Numerisches Rechnen

3. Datentypen, Ausdrücke und Operatoren

Transkript:

Numerik Ablauf: Festpunkt-Darstellung Gleitpunkt-Darstellung Runden Addition/Subtraktion Multiplikation Ausblick und Zusammenfassung Wolfgang Kastner, Institut für Rechnergestützte Automation, TU Wien Festpunkt-Darstellung VZ Vorkomma Nachkomma v dn+g- dn+g-2 dn dn- d d n Nachkommastellen g Vorkommastellen Vorzeichenbit ( bei negativer Zahl) Zahl x ist N = n + g + Bit breit N-2 x = (-) v 2 -n d j 2 j j= = (-) v d N-2 d n. d n- d d

Festpunkt-Zahlensystem N = 2 Bit, n = 3 Bit Nachkommastellen ( ) 2 (-49.75) VZ Vorkomma Nachkomma v d d 9 d 8 d 7 d 6 d 5 d 4 d 3 d 2 d d Festpunkt-Zahlensystem N = 2 Bit, n = 3 Bit Nachkommastellen (-.375) (. ) 2 VZ Vorkomma Nachkomma v d d 9 d 8 d 7 d 6 d 5 d 4 d 3 d 2 d d 2

Festpunkt-Zahlensystem Größte und kleinste Festpunktzahl VZ Vorkomma Nachkomma v d n+g- d n+g-2 d n d n- d d Zahlen haben gleichmäßig konstanten Abstand 2 -n VZ Vorkomma Nachkomma v dn+g- dn+g-2 dn dn- d d Problem: große ganze Zahlen: Reduktion der Nachkommastellen n kleine Zahlen: Reduktion der Vorkommastellen g Festpunkt-Zahlensystem N = 2 Bit, n = 3 Bit Nachkommastellen Größte, kleinste Zahl, Abstand? VZ Vorkomma Nachkomma v d d9 d8 d7 d6 d5 d4 d3 d2 d d Zahlengerade 3

Gleitpunkt-Darstellung Darstellung von Zahlen, die betragsmäßig sehr groß UND sehr klein sein können Darstellung der Form: x = ± Mantisse Basis Exponent Beispiel: (.234) = Gleitpunkt-Darstellung VZ Exponent Mantisse dn- dn-2 dn-3 dn dn- d d Basis b (vereinbart, nicht gespeichert) Mantisse (gespeichert auf p Stellen genau) Exponent e Vorzeichen v x = (-) v (Mantisse) b Exponent falls normalisiert: x = (-) v (m + m b - + + m -(p-) p- ) b e mit m 4

Gleitpunkt-Darstellung Parameter Basis b 2 Mantissenlänge p 2 kleinster Exponent e min < größter Exponent e max > Normalisierungsindikator denorm = {false, true} Benachbarte Zahlen im Intervall [b e, b e+ ] haben konstanten Abstand x = b e-p+ = ulp b e IEEE 754 Gleitpunkt Zahlensystem Single Format (32 Bit) Double Format (64 Bit) F(2,24,-26,27,true) F(2,53,-22,23,true) Vorzeichenbit (MSB) Exponent Bitbreite 8 Bit Exzess 27 e min = -26, e max =27 Mantisse (23+ Bit) implizites erstes Bit denorm=true Vorzeichenbit (MSB) Exponent Bitbreite Bit Exzess 23 e min = -22, e max =23 Mantisse (52+ Bit) implizites erstes Bit denorm=true 5

Zahlen, Not a Number, Unendlich + - F(2,24,-26,27,true) (-72.625) Schritt : Konvertierung 72.625 (-72.625) (.) 2 Schritt 2: Normalisierung (.) 2 * 2 = (.) 2 * 2 7 6

(-72.625) Schritt 3: Exponent bilden F(2,24,-26,27,true) Exponent = Exzess + Exponent der normalisierten Darstellung Exponent = 27 + 7 = 34 Schritt 4: Vorzeichenbit positive Zahlen: MSB = negative Zahlen: MSB = F(2,24,-26,27,true) Für normalisierte Zahlen gilt: Für subnormale Zahlen gilt: z = (- 23.325) 7

Gegeben Mantisse Runden Abschneiden: Aufrunden: Abrunden Gegeben Mantisse Runden (cont.) Nächstgelegener Wert: 8

Runden durch Abschneiden truncate(x) F(2, 3, -, 2, true)........... x up(x). Gerichtetes Runden F(2, 3, -, 2, true).......... x 9

Runden auf nächstgelegenen Wert rtne(x) F(2, 3, -, 2, true)........... x Addition/Subtraktion Schritt : Exponenten der betragsmäßig kleineren Zahl an den Exponenten der größeren Zahl angleichen Schritt 2: Die beiden Mantissen addieren Schritt 3: Die Summe normalisieren Schritt 4: Runden

grs Vorgangsweise xx Mantisse bleibt, wie sie ist Sticky Bit Für round-to-even Runden und falls das Ergebnis in gleichem Abstand zum oberen und unteren nächstliegenden Fließkommawert liegt, benötigt man eine zusätzliche Stelle ( sticky Bit). x Mantisse++, betragsmäßig, d.h. ohne Berücksichtigung des Vorzeichens falls LSB der Mantisse=, Mantisse bleibt LSB = rechtestes Bit (ohne grs) falls LSB der Mantisse=, Mantisse++, betragsmäßig LSB = rechtestes Bit (ohne grs) beide Summanden haben dasselbe VZ: Mantisse++, betragsmäßig Summanden haben unterschiedliche VZ: Mantisse bleibt Beispiel Gleitpunkt-Zahlensystem: Vorzeichen, 5 Stellen Exponent (Exzess 6), Stellen Mantisse (mit expliziter Darstellung der führenden ), Runden durch Abschneiden. Zahl A: (5.58), Zahl B: (62.27), Gesucht A+B Init: Gleitpunkt-Darstellung Schritt : Umrechung in Binärsystem Schritt 2: Normalisierung Schritt 3: Exponentendarstellung Schritt 4: Vorzeichen Addition (mit grs-behandlung) Schritt : Exponenten anpassen Schritt 2: A+B vor der Normalisierung Schritt 3: A+B nach der Normalisierung Schritt 4: A+B nach dem Runden round to even

2 Beispiel Gleitpunkt-Zahlensystem: Vorzeichen, 5 Stellen Exponent (Exzess 6!), Stellen Mantisse (mit expliziter Darstellung der führenden ), Runden durch Abschneiden (truncate) Zahl A: (5.58), Zahl B: (62.27), Gesucht A+B Init: Gleitpunkt-Darstellung (Schritt 4) A B Beispiel Addition mit grs-behandlung Schritt : Exponenten anpassen Schritt 2: Mantissen addieren (A+B vor der Normalisierung) A B A g r s A+B A B

Beispiel Schritt II: Addition mit grs-behandlung Schritt 3: Ergebnis Normalisierung A+B Schritt 4: Rundungsvorschriften beachten (siehe Tabelle!) A+B g r s A+B ulp + Ergebnis: A+B nach dem Runden round to even A+B Genauigkeitsbetrachtungen Fehlerfortpflanzung und Auslöschung Absoluter Rundungsfehler Relativer Rundungsfehler Für vorheriges Beispiel: Exaktes Ergebnis: x = 67.85 Errechnetes Ergebnis: x = 67.875 Absoluter Rundungsfehler:.25 Relativer Rundungsfehler:.37% 3

Schritt : Multiplikation der Mantissen Multiplikation Schritt 2: Addition der Exponenten Schritt 3: Normalisieren und Runden des Ergebnisses Schritt 4: Vorzeichenbit setzen Ausblick und Zusammenfassung D. Goldberg: What every computer scientist should know about floating-point arithmetic, ACM Computing Surveys, (23):5-48, 99. IEEE: Standard 754-985 for binary floating-point arithmetic, Institute of Electrical and Electronic Engineers, 985. Google IEEE-754 Floating Point Conversion Tutorien 4