N Bit Darstellung von Gleitkommazahlen

Ähnliche Dokumente
Wertebereiche, Overflow und Underflow

Der Zahlenformatstandard IEEE 754

IEEE 754 Encoding. Wie stellt man im IEEE 754 Format eigentlich die 0 dar!? Double Precision (Bias=1023)

Binäre Gleitkommazahlen

Das Verfahren in Hardware

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

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

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Technischen Informatik. 4. Übung

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

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

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

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

2 Darstellung von Zahlen und Zeichen

2.1.2 Gleitkommazahlen

Grundlagen der Technischen Informatik. 4. Übung

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

Grundlagen der Technischen Informatik. 4. Übung

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Computerarithmetik (6a)

Grundlagen der Technischen Informatik. 4. Übung

RO-Tutorien 3 / 6 / 12

Zum Nachdenken. Wenn die Zahl (123) hat, was könnte dann (123,45) 10

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

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

DuE-Tutorien 16 und 17

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

5 Zahlenformate und deren Grenzen

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

1. Grundlegende Konzepte der Informatik

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

Übung Praktische Informatik II

Motivation 31. Mai 2005

Darstellung von negativen binären Zahlen

6.2 Kodierung von Zahlen

Rechnen in B. Ralf Dorn. 3. September Heinrich-Hertz-Gymnasium. R. Dorn (H 2 O) Informatik LK 3. September / 6

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Einführung in die Informatik I

Vorlesung Programmieren

Vorzeichenbehaftete Festkommazahlen

Informationsdarstellung 2.2

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

Rechnerstrukturen WS 2012/13

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

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

Lösungsvorschlag 6. Übung Technische Grundlagen der Informatik II Sommersemester Aufgabe 6.1: Multiplikation von positiven Dualzahlen

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

2 Darstellung von Zahlen und Zeichen

Zwischenklausur Informatik, WS 2014/15

Lösung 2. Übungsblatt

Zahlen in Binärdarstellung

HaDePrak WS 05/ Versuch

Computergestützte Mathematik zur Linearen Algebra

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

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

Dipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme

Das Maschinenmodell Datenrepräsentation

Das Rechnermodell - Funktion

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Numerik. Festpunkt-Darstellung

Grundlagen der Programmierung

1. Tutorium Digitaltechnik und Entwurfsverfahren

N Bit binäre Zahlen (signed)

Rückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Fest- und Gleitkommasysteme

Computer-orientierte Mathematik

Informatik I Übung, Woche 41

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

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

Einführung in die Programmiertechnik

Kapitel 5: Daten und Operationen

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

Rechnergrundlagen SS Vorlesung

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

2 Repräsentation von elementaren Daten

Rundungsfehler-Problematik bei Gleitpunktzahlen

Arithmetik: Vorzeichenregeln und Überlauf, Exponenten & Normalisierung, Umrechnungen. Architektur: - Rechnerarchitektur, Instruktionssatz, Assembler

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Kapitel 5: Darstellung von Daten im Rechner

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

Rechnernetze und Organisation

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

mit 0 z 0 b 1 und 0 ẑ b n 1 1. Nach Induktionsannahme besitzt ẑ eine Darstellung der Länge n 1 zur Basis b. Damit ist

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

Warum Computer doch nicht so präzise rechen. Thomas Staub. Gleitkommazahlen: Gleitkommazahlen Thomas Staub lerntool.ch 2016

1. Vorzeichen und Betrag (engl. Sign-/Magnitude) 2. Stellenkomplement 3. Basiskomplement

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

Binäre Darstellung ganzer Zahlen

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

, 2017S Übungstermin: Di.,

3. Datentypen, Ausdrücke und Operatoren

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Transkript:

N Bit Darstellung von Gleitkommazahlen Normalisierte, wissenschaftliche Darstellung zur Basis 2. Beispiel: Allgemein: Sign and Magnitude Darstellung für beispielsweise 32 Bits: (s=0 für + und s=1 für ) s exponent fraction 1 Bit 8 Bits 23 Bits Tradeoff: Viele Fraction Bits: hohe Genauigkeit der Fraction Viele Exponent Bits: großer darstellbarer Zahlenbereich Grundlagen der Rechnerarchitektur Logik und Arithmetik 97

Beispiel s exponent fraction 1 Bit 8 Bits 23 Bits Was ist der Dezimalwert x des folgenden Bit Strings? 100000101101100000000000000000000 Grundlagen der Rechnerarchitektur Logik und Arithmetik 98

Wertebereiche, Overflow und Underflow s exponent fraction 1 Bit 8 Bits 23 Bits Kleinste darstellbare Zahl annähernd 2,0 * 10 38 Größte darstellbare Zahl annähernd 2,0 * 10 38 Was, wenn die darzustellende Zahl außerhalb dieses Bereichs ist? Overflow: Zahl zu groß (Exponent ist zu groß um im Exponent Feld darstellbar zu sein) Underflow: Zahl zu klein (Negativer Exponent ist zu groß um im Exponent Feld darstellbar zu sein) Grundlagen der Rechnerarchitektur Logik und Arithmetik 99

Beispiel: Single Precision Double Precision Double und Single Precision Insgesamt 32 Bits s exponent fraction 1 Bit 8 Bits 23 Bits Insgesamt 64 Bits s exponent fraction 1 Bit 11 Bits 52 Bits Double Precision hat höhere Genauigkeit der Fraction und mit größerem Exponent auch einen größeren darstellbaren Zahlenbereich. Double Precision in diesem Beispiel: Kleinste darstellbare Zahl annähernd 2,0 * 10 308 Größte darstellbare Zahl annähernd 2,0 * 10 308 Grundlagen der Rechnerarchitektur Logik und Arithmetik 100

Der Zahlenformatstandard IEEE 754 Single Precision Double Precision Insgesamt 32 Bits s exponent fraction 1 Bit 8 Bits 23 Bits Insgesamt 64 Bits s exponent fraction 1 Bit 11 Bits 52 Bits Bit Aufteilungen in dieser Form sind in IEEE 754 spezifiziert. Betrachte die wissenschaftliche, normalisierte Darstellung: [+ oder ] 1,xxxxxxxx * 2 yyyy Beobachtung: die 1 vor dem Komma ist redundant. Somit: Bei IEEE 754 wird die 1 implizit angenommen und in fraction nicht codiert. fraction speichert nur Nachkommastellen. Grundlagen der Rechnerarchitektur Logik und Arithmetik 101

Beispiel s exponent fraction 1 Bit 8 Bits 23 Bits Es sei die 1 vor dem Komma implizit angenommen. Fraction speichere damit nur die Nachkommastellen. Was ist der Dezimalwert x des folgenden Bit Strings? 1000001010110000000000000000000 Grundlagen der Rechnerarchitektur Logik und Arithmetik 102

Weitere Eigenschaften von IEEE 754 Unterscheidung von Fraction und 1+Fraction in der Darstellung ( 1) S * (1 + Fraction) * 2 Exponent 1+Fraction wird als Significant (deutsch: Mantisse) bezeichnet. Grundlagen der Rechnerarchitektur Logik und Arithmetik 103

Motivation für eine geeignete Exponent Darstellung Annahme: Exponent wäre mit Zweierkomplement dargestellt. Wie macht man einen Größer Kleiner Vergleich der folgenden beiden Zahlen? Zahl 1: 000000111101000100000000000000000 Zahl 2: 011010111010010000010000000000000 1. Vergleiche erst mal die Vorzeichenbits. Bei unterschiedlichen Vorzeichenbits ist der Vergleich beendet. 2. Vergleiche die Exponenten. Ist einer größer als der andere, ist der Vergleich beendet. (Signed Vergleich) 3. Vergleiche die Fractions. (Unsigned Vergleich) Kann man Schritt 2 und 3 in einem durchführen? Kleinster Exponent müsste 00000000 und größter Exponent müsste 11111111 sein, dann könnte man Exponent und Fraction für einen Vergleich einfach konkatenieren. Grundlagen der Rechnerarchitektur Logik und Arithmetik 104

Darstellung des Exponenten in Biased Notation Erinnerung: Biased Notation (hier mit 8 Bit und Bias 127): 0000 0000 = -127 (0-Bias = -127) 0000 0001 = -126 (1-Bias = -126)... 0111 1110 = -1 (126-Bias = -1) 0111 1111 = 0 (127-Bias = 0) 1000 0000 = 1 (128-Bias = 1)... 1111 1110 = 127 (254-Bias = 127) 1111 1111 = 128 (255-Bias = 128) Zusammengefasst: Der Wert x einer Zahl in IEEE 754 Darstellung ist (Single Precision (8 Bit Exponent) Bias=127, Double Precision (11 Bit Exponen) Bias=1023) Grundlagen der Rechnerarchitektur Logik und Arithmetik 105

IEEE 754 Encoding Wie stellt man im IEEE 754 Format eigentlich die 0 dar!? ( 1) S * (1 + Fraction) * 2 (Exponent Bias) Single Precision (Bias=127) Double Precision (Bias=1023) Dargestelltes Objekt Exponent Fraction Exponent Fraction 0 0 0 0 0 0 Nicht Null 0 Nicht Null (+/ Denormalised Number) 1bis 254 Beliebig 1 bis 2046 Beliebig +/ Gleitkommazahl 255 0 2047 0 +/ Unendlich 255 Nicht Null 2047 Nicht Null NaN (Not a Number) Grundlagen der Rechnerarchitektur Logik und Arithmetik 106

Quiz Betrachte IEEE 754 Single Precision, also Bias = 127. Was ist der Dezimalwert der folgenden Binärzahl? 010000000110000000000000000000000 ( 1) S * (1 + Fraction) * 2 (Exponent Bias) Grundlagen der Rechnerarchitektur Logik und Arithmetik 107

Quiiiiz Bestimme S, Fraction und Exponent der IEEE 754 Single Precision Repräsentation (also Bias = 127) der Dezimalzahl 0.75. ( 1) S * (1 + Fraction) * 2 (Exponent Bias) Grundlagen der Rechnerarchitektur Logik und Arithmetik 108

Gleitkommaarithmetik Grundlagen der Rechnerarchitektur Logik und Arithmetik 109

Gleitkommaarithmetik Addition von binären n Bit Gleitkommazahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 110

Vorüberlegung Addition mit gleichem Exponent (Nachkomma mit 4 Bits kodiert): Addition mit unterschiedlichen Exponenten (Nachkomma 4 Bits): Grundlagen der Rechnerarchitektur Logik und Arithmetik 111

Vorüberlegung Ergebnis muss unter Umständen wieder normalisiert werden: Bei Einschränkung auf n Bit (z.b. Nachkomma auf 4 Bit eingeschränkt) kann dies anschließendes Auf bzw. Abrunden erfordern. Beispiel: Runden nach der Schulmethode Grundlagen der Rechnerarchitektur Logik und Arithmetik 112

Vorüberlegung Das Runden kann ggf. neues Normalisieren erforderlich machen: Normalisierungen können Overflows und Underflows hervorrufen. Beispiel: IEEE 754 Single Precision erlaubt Exponenten von 126 bis 127. Somit ist zum Beispiel: Grundlagen der Rechnerarchitektur Logik und Arithmetik 113

Additionsalgorithmus 2 Beispiele: 4 Bit für die Mantisse und 8 Bit für den Exponenten. Start (1) (2) Beispiel 1 Beispiel 2 1,000 * 2 1 1,001 * 2 10 1,110 * 2 2 + 1,101 * 2 11 (1) Vergleiche Exponenten der beiden Zahlen. Shifte die kleinere Zahl nach rechts, so dass der Exponent mit dem Exponent der größeren Zahl übereinstimmt. (Mantissen Alignment) (2) Addiere die Mantissen. Grundlagen der Rechnerarchitektur Logik und Arithmetik 114

Additionsalgorithmus 2 Beispiele: 4 Bit für die Mantisse und 8 Bit für den Exponenten. Beispiel 1 Beispiel 2 (2) 0,001 * 2 1 10,001 * 2 11 (3) (3) Normalisiere die Summe, entweder durch Rechts Shift und hoch setzen oder durch Links Shift und runter setzen des Exponenten. Im Beispiel 8 Bit für den Exponenten. Overflow oder Underflow? ja nein Exception Grundlagen der Rechnerarchitektur Logik und Arithmetik 115

Additionsalgorithmus 2 Beispiele: 4 Bit für die Mantisse und 8 Bit für den Exponenten. zurück nach (3) Beispiel 1 Beispiel 2 (3) 1,000 * 2 4 1,0001 * 2 12 (4) (4) Runde die Mantisse auf die verfügbare Anzahl Bits. Immer noch normalisiert? nein ja Fertig Grundlagen der Rechnerarchitektur Logik und Arithmetik 116

Noch eine Bemerkung Betrachte die folgende binäre Floats mit 8 Bit Mantisse: x = 1,100 000 * 2 100, y = 1,100 000 * 2 100, z = 1,000 0000 Was ist x + (y + z)? Was ist (x + y) + z? Somit ist x + (y + z) (x + y) + z, d.h. die Gleitkommaaddition ist nicht assoziativ! Quiz: Was ist die Konsequenz, wenn man x 1 + x 2 +... + x n parallel berechnen möchte? Grundlagen der Rechnerarchitektur Logik und Arithmetik 117

Gleitkommaarithmetik Multiplikation von binären n Bit Gleitkommazahlen Grundlagen der Rechnerarchitektur Logik und Arithmetik 118

Vorüberlegung Multiplikation von zwei beliebigen binären Floats in normalisierter Darstellung. Was ist der Exponent des Ergebnisses? Multiplikation der Mantissen. Wo kommt das Komma hin? Was ist das Vorzeichen v von x y? Grundlagen der Rechnerarchitektur Logik und Arithmetik 119

Algorithmus Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (1) 1,101 * 2 1 1,100 * 2 2 Start (1) Addiere die Exponenten. (Subtrahiere Bias im Falle von Biased Notation ) Grundlagen der Rechnerarchitektur Logik und Arithmetik 120

Algorithmus Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (1) Der Exponent ist 3 Die Mantissen sind: 1,101 und 1,100 (2) (2) Multipliziere die Mantissen. Grundlagen der Rechnerarchitektur Logik und Arithmetik 121

Algorithmus Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (2) 10,011100 * 2 3 (3) (3) Normalisiere das Produkt Falls notwendig. Normalisierung erfolgt durch Rechts Shift und erhöhen des Exponenten. Im Beispiel 8 Bit für den Exponenten. Overflow oder Underflow? ja nein Exception Grundlagen der Rechnerarchitektur Logik und Arithmetik 122

Beispiel: 4 Bit für die Mantisse und 8 Bit für den Exponenten. (Eingabe: 1,101 * 2 1 1,100 * 2 2 ) Algorithmus (4) Runde die Mantisse auf die verfügbare Anzahl Bits. zurück nach (3) (3) 1,0011100 * 2 2 (4) Immer noch normalisiert? nein (5) ja (5) Setze Vorzeichen auf + wenn die Vorzeichen der Eingaben gleich waren. Sonst setze Vorzeichen auf. Fertig Grundlagen der Rechnerarchitektur Logik und Arithmetik 123