Zahlenformate. SigProc-4-Zahlenformate 1

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

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

Wertebereiche, Overflow und Underflow

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

2.1.2 Gleitkommazahlen

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

9. Vorlesung. Systemtheorie für Informatiker. Dr. Christoph Grimm. Professur Prof. Dr. K. Waldschmidt, Univ. Frankfurt/Main

(eindimensionaler) Paritätscode: Codes (8a)

Algorithmen zur Division

Inhalt. Zahlendarstellungen

Rechnergrundlagen SS Vorlesung

Kapitel 5: Darstellung von Daten im Rechner

RO-Tutorien 3 / 6 / 12

Vorlesung Programmieren

Grundzüge der Informatik Tutorium Gruppe 6

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Numerik. Festpunkt-Darstellung

Binäre Gleitkommazahlen

Grundlagen der Technischen Informatik. 4. Übung

DuE-Tutorien 16 und 17

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

Computer Arithmetik. Computer Arithmetik Allgemein

Rechnergrundlagen SS Vorlesung

Motivation 31. Mai 2005

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Grundlagen der Technischen Informatik. 3. Übung

Datendarstellung Teil 2

Rechnergrundlagen SS Vorlesung

HaDePrak WS 05/ Versuch

5 Zahlenformate und deren Grenzen

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

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

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

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

2 Darstellung von Zahlen und Zeichen

Einführung in die Informatik

Einführung in die Informatik

Prof. Dr. Stefan Weinzierl SNR V = P signal P noise

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

Informatik I Modul 2: Rechnerarithmetik (1)

Modul 2: Rechnerarithmetik (1) Informatik I. Modul 2: Rechnerarithmetik (1) Rechnerarithmetik. Formale Grundlagen. Zahlensysteme (1) Zahlensysteme (2)

6.2 Kodierung von Zahlen

TI II: Computer Architecture Data Representation and Computer Arithmetic

Datendarstellung Teil 2

Mathematische Werkzeuge für Computergrafik 2016/17. Gleitkommzahlen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Grundlagen der Informatik I ATI / MB

Zahlen in Binärdarstellung

Rechnernetze und Organisation

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

2.5. Gleitkommaarithmetik

3. Datentypen, Ausdrücke und Operatoren

Lösung 2. Übungsblatt

Grundlagen der Technischen Informatik. 4. Übung

Einführung in die Informatik I

, 2015S Übungstermin: Mi.,

1. Tutorium Digitaltechnik und Entwurfsverfahren

B: Basis des Zahlensystems 0 a i < B a i є N 0 B є (N > 1) Z = a 0 B 0 + a 1 B 1 + a 2 B a n-1 B n-1

4. Zahlendarstellungen

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

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

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

Numerisches Programmieren, Übungen

Technische Informatik I

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

Computerarithmetik (1)

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

WH: Arithmetik: Floating Point

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

Vorzeichenbehaftete Festkommazahlen

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

Numerische Verfahren und Grundlagen der Analysis

Zahlensysteme und Kodes. Prof. Metzler

, 2014W Übungstermin: Fr.,

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

Rechnergrundlagen SS Vorlesung

Zahlensysteme. Formale Methoden der Informatik WiSe 2008/2009 Folie 1 (von 54)

4. Zahlendarstellungen

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

Fehler in numerischen Rechnungen

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

Grundlagen der Technischen Informatik. 3. Übung. Christian Knell Keine Garantie für Korrekt-/Vollständigkeit

Das Rechnermodell - Funktion

FAKULTÄT FÜR INFORMATIK

Numerisches Programmieren, Übungen

Kapitel 6 Darstellung von Daten im Rechner. Kapitel 6: Darstellung von Daten im Rechner Seite 1 / 63

Übung Praktische Informatik II

Computerarithmetik (1)

Numerik für Ingenieure I Wintersemester 2008

Vorteile digitaler Filter

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

There are only 10 types of people in the world: those who understand binary, and those who don't

Richtig Rechnen. // Program: fahrenheit.c // Convert temperatures from Celsius to Fahrenheit.

Das Maschinenmodell Datenrepräsentation

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

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

Informationsdarstellung 2.2

Numerisches Programmieren

Transkript:

Zahlenformate SigProc-4-Zahlenformate 1

Einfluss der Zahlendarstellung Auf Genauigkeit und Implementierungs- Aufwand (HW-Kosten) Einfache Formate einfach in HW zu implementieren aber begrenzter Zahlenbereich und komplizierte Arithmetik Aufwendige Formate großer HW- Aufwand, aber großer Zahlenbereich und immuner in der Arithmetik SigProc-4-Zahlenformate 2

X = ( b,, b, b, b,, b ) B A 1 0 1 B r i = br, 0 b ( r 1) i= A i i b i r A B Ziffer Zahlenbasis, Radix Zahl der ganzzahligen Stellen Zahl der Kommastellen (123.456) = 1 10 + 2 10 + 3 10 + 4 10 + 5 10 + 6 10 10 2 1 0 1 2 3 SigProc-4-Zahlenformate 3

Binäre Festkommaformate Dezimalpunkt Binärpunkt (3.3125) 11 0101 10 B = 12 + 12 + 02 + 12 + 02 + 02 1 0 1 2 3 4 1 1 = 2 + 1 + 0 + + 0 + 4 16 Durch den Binärpunkt ist der Zahlenbereich festgelegt. SigProc-4-Zahlenformate 4

Für 0 111111 ist der Wertebereich B b b 1 2 (größtezahl) und 2 (kleinste Zahl) b 0.984375 und 0.015625 D D SigProc-4-Zahlenformate 5

Negative Zahlen Ein Bit wird für das Vorzeichen spendiert Sign-Magnitude Two s Compliment Offset Binary One s Compliment X = 1. bb b für X 1 SM 2C 1 2 1C 1 2 1 2 X = 1. bb b + 00 01 für X 1 X = 1. bb b für X 1 B B B SigProc-4-Zahlenformate 6

Decimal Sign-magnitude 2 s complement Offset binary 1 s compliment 7 0111 0111 1111 0111 6 0110 0110 1110 0110 5 0101 0101 1101 0101 4 0100 0100 1100 0100 3 0011 0011 1011 0011 2 0010 0010 1010 0010 1 0001 0001 1001 0001 0 0000 0000 1000 0000-0 1000 - - 1111-1 1001 1111 0111 1110-2 1010 1110 0110 1101-3 1011 1101 0101 1100-4 1100 1100 0100 1011-5 1101 1011 0011 1010-6 1110 1010 0010 1001-7 1111 1001 0001 1000-8 - 1000 0000 - SigProc-4-Zahlenformate 7

Sign-magnitude Einfache Erzeugung negativer Zahlen, schlecht geeignet zum Rechnen, nur in speziellen HW-Implementierungen verwendet, zwei Nullen. In DSPs wird meistens 2 s compliment verwendet. SigProc-4-Zahlenformate 8

Offset-binary Findet Verwendung bei A/D-Wandlern. Umwandlung in 2 s compliment durch Inversion des MSB SigProc-4-Zahlenformate 9

2 s compliment Negative Zahlen durch Inversion der positiven Zahl und addieren von 1 3 D = 0011 1100 +0001 1101 = -3 D Addition und Subtraktion können mit derselben HW ausgeführt werden SigProc-4-Zahlenformate 10

Unterschiedliche Wortlänge: Aufpassen beim Überlauf! +15 00001111 +3 0011 +18 00010010 aber +15 00001111-3 1101 +28 00011100 Ungleiche Wortlänge SigProc-4-Zahlenformate 11

Lösung: Sign-extended operation +15 00001111-3 11111101 +12 100001100 weggelassen, von Hardware unterstützt SigProc-4-Zahlenformate 12

Auswirkungen der endlichen Wortlänge Werte nur mit endlicher Genauigkeit dargestellt Erhöhung des Grundrauschen der Signale Erzeugt nichtideale Antworten der digitalen Filter Führt zu zusätzlichem Rauschen bei der A/D- Wandlung Kann zu ungenauen arithmetische Ergebnissen führen Die Probleme werden bei kleiner Wortlänge größer. SigProc-4-Zahlenformate 13

A/D-Wandler Quantisierungsfehler Beispiel: 8-bit Wandler Signalbereich von 1 bis + 1 Volt 2U p 2 Volt LSB = = = 7.8125 mv b 8 2 2 Quantisierungsfehler SigProc-4-Zahlenformate 14

Sign-magnitude Format Quantisierungsfehler LSB ± =± 3.905 mv 2 SigProc-4-Zahlenformate 15

Quantisierungsfehler im Frequenzbereich Rauschen SigProc-4-Zahlenformate 16

Quantifizierung des Rauschens Signal-to-noise ratio SNR = Signalpower Noisepower SigProc-4-Zahlenformate 17

Ein wenig Statistik x 2 σ 2 σ N 1 x[1] + x[2] + + xn [ ] = xn [ ] = N N n= 1 N 1 = N 1 n= 1 n= 1 N 1 = N { xn [ ] xn [ ]} { xn [ ] xn [ ]} 2 2 Varianz für große N Mittelwert SigProc-4-Zahlenformate 18

σ 2 ist Amplitude zum Quadrat, also Leistung der Abweichung vom Mittelwert. Für ein Zufallssignal x[n] ist σ 2 die Leistung des fluktuierenden Anteils des Signals. Bei Wechselgrößen ist der Effektivwert eines Signal identisch mit der Standardabweichung: N 1 σ = xeff = xn [ ] N n= 1 2 SigProc-4-Zahlenformate 19

Quantisierungsrauschen ist ein Zufallssignal und wir können daher die Rauschleistung durch die Varianz ausdrücken: Signalpower SNR = = Noisepower 2 σ Signal = 10log 2 σ A/D-Rauschen SigProc-4-Zahlenformate 20

Die Quantisierungsfehler liegen zwischen q/2 und q/2 und treten mit gleicher Wahrscheinlichkeit auf. Wahrscheinlichkeitsdichtefunktion des A/D-Fehlers Bei gleichwahrscheinlichen Signalamplituden ist die mittlere Leistung des Fehlersignals (Rauschen) σ σ 2 1 q 2U = e p( e) de = e de = ; q = b q 12 2 q/2 q/2 2 2 2 A/D-Rauschen q/2 q/2 ( 2U ) p ( b ) 2 2 U = = 12 2 32 2 p A/D-Rauschen 2 2b SigProc-4-Zahlenformate 21 p

Zur Berechnung der SNR haben wir jetzt die Rauschleistung, es fehlt aber noch die Signalleistung. Über das Signal wissen wir nicht viel, wir können aber den Effektivwert ermittlen. Für die weitere Beschreibung führen wir den Lastfaktor LF ein: LF = Effektivwert Spitzenwert Es ist auch der Crest factor CF = 1/LF gebräuchlich. Aussteuerung des A/D-Wandlers Signalleistung SigProc-4-Zahlenformate 22

2 LF = 1 LF = = 0.58 12 1 1 LF = = 0.71 LF = 2 3 4 = 0.33 0.25 SigProc-4-Zahlenformate 23

Ein Sinussignal hat einen LF von 1/ 2 = 0,71 (-3 db unter U p ). Eine regulär laufende Maschine hat ein LF von 0,66. Bei Auftreten von Störungen (z.b. Lagerabnützungen) treten Signalspitzen (mit geringer Energie) auf, die den LF verkleinern. SigProc-4-Zahlenformate 24

Effektivwert σ LF = = = LF U Spitzenwert U SNR Signal 2 ( ) 2 2 σ Signal p p ( ) 2 2 LF U p = 10log 10log 3 2 2 2b = U /3 2 p ( ) 2 ( 2b LF ) SNR = 4.77 + 6.02 b + 20log LF SigProc-4-Zahlenformate 25

Eingangssignal = Sinus SNRA/ D= 4.77 + 6.02 b + 20log LF SigProc-4-Zahlenformate 26

Der LF ist nie größer als 3 db (Vollaussteuerung des A/D-Wandlers mit Sinusschwingung) und wir erhalten für maximale Sinusausteuerung max ( ) SNR = 4.77 + 6.02 b + 20log 1/ 2 A/D = 1.76 + 6.02 b SigProc-4-Zahlenformate 27

Zusammenfassung A/D (1) Ein ideal A/D-gewandeltes Signal kann kein besseres S/N-Verhältnis als SNRAD / = 4.77 + 6.02 b + 20log LF haben. Ein 8-bit A/D-Wandler hat im besten Fall ein SNR von 49.9 db. Ein kontinuierliches Signal mit besserem SNR wird auf die 49.9 db verschlechtert oder es muss ein A/D-Wandler mit höherer Auflösung eingesetzt werden. SigProc-4-Zahlenformate 28

Zusammenfassung A/D (2) Reale A/D-Wandler reduzieren das ideale SNR um 3 6 db. Es ist unvorsichtig einen A/D-Wandler voll auszusteuern, da sonst die Gefahr der Übersteuerung besteht. Es muss der Effektivwert gesucht werden, der den A/D-Wandler nicht (selten) übersteuert! Aber der Signalverlauf ist statistisch! Es ist unzweckmäßig einen A/D-Wandler einzusetzen, der ein deutlich besseres SNR hat als das kontinuierliche Signal. SigProc-4-Zahlenformate 29

Zusammenfassung A/D (3) Es wurde angenommen, dass die Quantisierungsfehler einem stationären (nicht zeitabhängigem) Zufallsprozess entsprechen. Die Wahrscheinlichkeitsdichte ist gleichverteilt, was nur bei hochwertigen A/D- Wandlern erreicht werden kann (keine Codeaussetzer beim Wandler). Die Quantisierungsfehler sind nicht mit dem Eingangssignal korreliert, was in der Praxis bei Signalen mit reichem Spektralinhalt gegeben ist (Sprache, Musik, Messwerte). SigProc-4-Zahlenformate 30

OVERFLOW SigProc-4-Zahlenformate 31

Overflow (ohne Vorzeichen) Übertrag 1 1 1 1 0 1 0 1 0 +42 + 1 0 0 1 1 1 +39 1 0 1 0 0 0 1 +81 Overflow error Für die Summe von b+ log 2 m ( ) Stellen benötigt. mb-bit Zahlen werden SigProc-4-Zahlenformate 32

Overflow bei 2er Complement Unter bestimmten Bedingungen erzeugt ein Overflow beim Addieren von zwei Zahlen keinen Fehler. Beim Addieren mehrere Zahlen entstehende Überläufe in der Zwischensumme, erzeugen aber keinen Fehler in der Endsumme, wenn die Summe kleiner als 2 b-1 ist. SigProc-4-Zahlenformate 33

4-bit 2 s SigProc-4-Zahlenformate compliment 34

Overflow (2er Komplement) Übertrag 0 1 0 1 0 1 1-5 + 0 0 1 0 +2 0 1 1 0 1-3 Kein Overflow 1 1 0 1 1 1 0-2 + 0 1 1 0 +6 1 0 1 0 0 +4 Mit Overflow, aber gültiges positives Ergebnis SigProc-4-Zahlenformate 35

Overflow (2er Kompliment) 0 0 0 1 0 0 1-7 + 1 0 1 0-6 1 0 0 1 1 +3 Mit Overflow, ungültiges positives Ergebnis 1 1 1 0 1 1 1 +7 + 0 1 1 1 +7 0 1 1 1 0-2 Ohne Overflow, ungültiges negatives Ergebnis SigProc-4-Zahlenformate 36

Wenn das Übertragsbit in das Vorzeichenbit dem Vorzeichenbit entspricht, kann das Überlaufbit ignoriert werden und das Ergebnis ist gültig. Wenn das Übertragsbit in das Vorzeichenbit unterschiedlich vom Vorzeichenbit ist, ist das Ergebnis ist ungültig. SigProc-4-Zahlenformate 37

= 1 1 0 Übertrag 1 1 1 0-2 + 0 1 1 0 +6 1 0 1 0 0 +4 Mit Overflow, aber gültiges positives Ergebnis SigProc-4-Zahlenformate 38

0 0 0 Übertrag 1 0 0 1-7 + 1 0 1 0-6 1 0 0 1 1 +3 Mit Overflow, ungültiges positives Ergebnis 1 1 1 Übertrag 0 1 1 1 +7 + 0 1 1 1 +7 0 1 1 1 0-2 Ohne Overflow, ungültiges negatives Ergebnis SigProc-4-Zahlenformate 39

Zwei Additionen 1 1 0 Übertrag 0 1 1 1 +7 + 0 1 1 0 +6 0 1 1 0 1-3 0 0 1 Übertrag 1 1 0 1-3 + 1 0 0 1-7 1 0 1 1 0 +6 Overflow Fehler beim Zwischenergebnis Der Betrag der Summe der 4-bit Zahlen (7 + 6 7 = 6) und ist kleiner als 2 4-1 = 8. Gültiges positives Ergebnis Eine Folge von b-bit Additionen liefert auch bei Zwischenfehlern ein richtiges Gesamtergebnis, wenn der Betrag des Ergebnisses kleiner als 2 b-1 ist. SigProc-4-Zahlenformate 40

Eine Folge von b-bit Additionen liefert auch bei Zwischenfehlern ein richtiges Gesamtergebnis, wenn der Betrag des Ergebnisses kleiner als 2 b-1 ist. 0 1 1 1 +7 + 0 1 1 0 +6 0 1 1 0 1-3 0 1 0 1 1-5 1 1 0 0 0-8 Overflow Fehler beim Zwischenergebnis Ungültiges negatives Ergebnis Der Betrag der Summe der 4-bit Zahlen (7 + 6 5 = 8) und ist nicht kleiner als 2 4-1 = 8. SigProc-4-Zahlenformate 41

Behandlung des Overflows SigProc-4-Zahlenformate 42

Durch Abschneiden Beim Abschneiden wird der Datenwert auf einen Wert gesetzt der dem Datenwert ist, z.b. 1.7 1 x σ Trunc 2 Trunc q = 2 2 q = 12 SigProc-4-Zahlenformate 43

Rundungsfehler bei der Division durch 2 T durch Verschieben 31/16: 1 1 1 1 1 0 0 0 0 1 = 1 31/16 = 1.937 richtiger Quotient tunc. Quotient Fehler [%] = 100 richtiger Quotient 1.937 1 = = 48% 1.937 SigProc-4-Zahlenformate 44

max T 1 2 [%] = 100 N + Err trunc T ( 1 2 ) Maximaler Fehler Der größte Fehler tritt auf, wenn alle abgeschnittenen Bits gleich 1 sind b 1 1 1 1 1 2 -T Der Fehler ist Null wenn alle abgeschnittenen Bits Null sind. /2 /4 /256 Wortlänge SigProc-4-Zahlenformate 45

Rundung 0.5 x < 0.5 0 0.5 x < 1.5 1 Trunc 2 Trunc = 0 2 q = 12 SigProc-4-Zahlenformate 46 x σ

Festkomma Zahlenauflösung Gleichbleibende Auflösung = X X 2 1 max b min Intervall steigt mit dem Wertebereich SigProc-4-Zahlenformate 47

Qm.n-Formate SigProc-4-Zahlenformate 48

16-bit Dynamikbereich Genauigkeit SigProc-4-Zahlenformate 49

16-bit Skalierung Dynamikbereich SigProc-4-Zahlenformate 50

Die meisten DSPs unterstützen Bruchzahlen im Qm.n-Format. Assembler kennt nur Ganzzahlen, der Programmierer muss entsprechende Normierung vornehmen: 1. Normalisieren in den Bereich des gewünschten Q-Formats 2. Multiplizieren mit 2 n, n ist die Zahl der Nachkomma-Bits 3. Runden auf die nächste Ganzzahl z.b.: 1.18 im Q.15-Format 1. Normalisieren, damit die Zahl im Bereich -1 bis + 1 liegt 1.18/2 = 0.59 2. Multiplizieren mit 2 15 0.59 x 32768 =19333.12 3. Runden auf 19333 4B85 h SigProc-4-Zahlenformate 51

Fixed floating point DSPs SigProc-4-Zahlenformate 52

Anwendungen SigProc-4-Zahlenformate 53

Floating Point Binärformate x = m 2 e Exponent Mantisse 32-bit floating point Formate verwenden typisch 24 bit für die Mantisse 8 bit für den Exponenten (! In der Mathematik ist Mantisse die Bezeichnung für die Nachkommastellen!) SigProc-4-Zahlenformate 54

Auflösung sinkt bei größeren Zahlen: Abstand zwischen benachbarten FP-Zahlen wird größer wenn die Zahlen größer werden. Festkomma Gleichmäßige Auflösung über den gesamten Zahlenbereich Kleiner Dynamikbereich Gleitkomma Feinere Auflösung für kleine Zahlen, gröbere Auflösung für große Zahlen. Größerer Dynamikberich SigProc-4-Zahlenformate 55

Festkomma 2 31-1 2x10 9 2 G Beispiel 32 bit : Gleitkomma (Vorzeichen) 23 Mantisse (Vorzeichen) 7 Exponent: 0.100 0 2 = 2 0.3 10 11111111 1 127 38 2 0.111 1 2 = (1 2 ) 2 1.7 10 01111111 23 127 38 76 Dynamikbereich ca. 10, unterschiedliche Au l f ösung SigProc-4-Zahlenformate 56

Um die Null darzustellen muss nur die Mantisse Null sein, der Exponent kann beliebig sein. Die Wahl von Mantisse und Exponent, die Darstellung der Null und die Behandlung des Overflows führen zu unterschiedlichen Gleitkommadarstellungen, z.b. IEEE 754 Format SigProc-4-Zahlenformate 57

Formate Single 32 (23 +8) Double 64 (52 +11) Single extended >42 (>30 + >10) Double extended >78 (>62 + >14) SigProc-4-Zahlenformate 58

IEEE 32-bit floating-point format 0 1 8 9 31 S E M Exponent 8-bit length, coded in biased (non-negative) form as E - 127 Mantissa 23-bit length, 0 M < 1 Conventions: X = S E 127 ( 1) 2 ( M ) 0 1. If E = 255 (max.) and M 0, than X is not a number (NaN) ; - 0 s 1 1 2. If E = 255 (max.) and M=0, than X = ( 1) ; 0 0 s E 127 3. If 0 < E < 255, than X = ( 1) 2 ( 1. M ) normalized s 126 4. If E = 0 and M 0, than X = ( 1) 2 (. M) s 5. If E = 0 and M = 0, than X = ( 1) 0 0 2 r 1 1 r number of bits of E denormalized (fixed point) where 1.M is a number with one integer bit and 23 fractional bits and 0. M is a fraction. SigProc-4-Zahlenformate 59

Beispiel : 010000 0101010 00 S X E = M = 13 = 8 0 130 127 3 1 2 1010 00 2 1 The range of 32-bit floating point numbers in this format is from ( ) 2 2 = 2 = 1.4013 10 to 1 2 2 = 3.4028 10 23 126 149 45 24 128 38 3 Zehn 16 25 Hoch (Powers of Ten): Quark (10 ) Grenze des Alls (10 ) SigProc-4-Zahlenformate 60

S EEEEEEEE MMMMMMMMMMMMMMMMMMMMMMM 0 1 8 9 3 1 E = 255 M 0 0 11111111 00000000010000000000000 = NaN 1 11111111 00001000000100000010000 = NaN E = 255 M = 0 0 11111111 000000000O0000000000000 = 1 11111111 00000000000000000000000 = - E = 0 M = 0 0 00000000 000000000O0000000000000 = 0 1 00000000 00000000000000000000000 = - 0 SigProc-4-Zahlenformate 61

Exponent biased by 2 8 1 1 = 127 Exponenten von 126 bis +127 darstellbar. (0 und 255 reserviert) Grund leichtere Vergleichbarkeit von Zahlen in diesem Format. 127 0 255 ( 1) S E < E < V = 2 (1. M) 0 10000000 00000000000000000000000 = +1 2 (128-127) 1.0 = 2 0 10000001 10100000000000000000000 = +1 2 (129-127) 1.101 = 6.5 1 10000001 10100000000000000000000 = -1 2 (129-127) 1.101 = -6.5 0 00000001 00000000000000000000000 = +1 2 (1-127) 1.0 = 2-126 0 00000000 10000000000000000000000 = +1 2 (-126) 0.1 = 2-127 1 00000000 00000000000000000000001 = -1 2 (-126) 0.0 1 = -2-149 E = M V = M S 126 000, 0 ( 1) 2 (0. ) Kleinste neg. Zahl SigProc-4-Zahlenformate 62

http://www.h-schmidt.net/floatapplet/ieee754de.html SigProc-4-Zahlenformate 63

IEEE 754 not only a format Rounding algorithms Arithmetic operations (add, subtract, multiply, divide, square root, fusedmultiply-add, remainder, etc.) Conversions (between formats, to and from strings, etc.) Exception handling Invalid ( -1), /0, over/under-flow http://754r.ucbtest.org/standards/754.pdf (ANSI/IEEE Std 754 1985) 64