Numerisches Programmieren, Übungen



Ähnliche Dokumente
Numerisches Programmieren, Übungen

Computerarithmetik ( )

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

Binärdarstellung von Fliesskommazahlen

Grundlagen der Informatik

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Technische Informatik - Eine Einführung

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

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

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

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

, WS2012 Übungsgruppen: Mo.,

Binäre Gleitkommazahlen

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?

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

Zahlensysteme Das 10er-System

Einführung in die Informatik I

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

Zeichen bei Zahlen entschlüsseln

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

2 Darstellung von Zahlen und Zeichen

Einführung in die Programmierung

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

Vertiefungsstoff zum Thema Darstellung von Zahlen

2. Negative Dualzahlen darstellen

Wissenswertes über binäre Felder

Übungen zu Informatik 1

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben. Präsenzaufgaben

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

Übung RA, Kapitel 1.2

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

Zahlensysteme. von Christian Bartl

Theoretische Informatik SS 04 Übung 1

Grundlagen der Informatik (BSc) Übung Nr. 5

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

Zahlensysteme Seite -1- Zahlensysteme

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

Numerisches Programmieren

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Eine Logikschaltung zur Addition zweier Zahlen

Die Subnetzmaske/Netzwerkmaske

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!.

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

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

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Grundlagen der Informatik Übungen 1.Termin

Mikro-Controller-Pass 1

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Zahlensysteme: Oktal- und Hexadezimalsystem

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

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

Daten verarbeiten. Binärzahlen

Grundlagen der Informatik Übungen 1. Termin Zahlensysteme

n S n , , , , 167 Nach einem Jahr beträgt der Schuldenstand ca. 1177,09.

Repetitionsaufgaben Wurzelgleichungen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

N Bit binäre Zahlen (signed)

Informationsblatt Induktionsbeweis

Theoretische Grundlagen der Informatik WS 09/10

Einstieg in die Informatik mit Java

Mikro-Controller-Pass 1

Information in einem Computer ist ein

Simplex-Umformung für Dummies

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Professionelle Seminare im Bereich MS-Office

Installation und Inbetriebnahme von Microsoft Visual C Express

Musterlösungen zur Linearen Algebra II Blatt 5

Aufgabensammlung Bruchrechnen

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

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

Übung 9 - Lösungsvorschlag

Eine Einführung zum numerischen Programmieren mit Excel

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Was meinen die Leute eigentlich mit: Grexit?

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Komplexe Zahlen und Wechselstromwiderstände

Binär- und Hexadezimal-Zahl Arithmetik.

Englische Division. ... und allgemeine Hinweise

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Buch: Einblicke Mathematik 8 Klett ISBN Modul 8. Prozentrechnen (Seiten 86 96)

6.2 Scan-Konvertierung (Scan Conversion)

Primzahlen und RSA-Verschlüsselung

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Zahlensysteme. Zahl Stellenwert Zahl Zahl =

SOZIALVORSCHRIFTEN IM STRAßENVERKEHR Verordnung (EG) Nr. 561/2006, Richtlinie 2006/22/EG, Verordnung (EU) Nr. 165/2014

Lösung 1. Übungsblatt

2 Rechnen auf einem Computer

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Grundlagen der Informatik I Informationsdarstellung

2 Einfache Rechnungen

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Transkript:

Technische Universität München SoSe 0 Institut für Informatik Prof Dr Thomas Huckle Dipl-Math Jürgen Bräckle Nikola Tchipev, MSc Numerisches Programmieren, Übungen Musterlösung Übungsblatt: Zahlendarstellung, Rundungsfehler ) Umrechnung von Zahlen i) Zahldarstellung in allgemeinem System: N i0 r ibasis i mit r i {0,,, Basis } dezimal binär trinär hexadezimal Basis 3 6 darzust Zahl 9 0 0 3 darzust Zahl 0 f darzust Zahl 5 00 ff ii) Schriftliches Dividieren der Brüche im binären System analog zum dezimalen: : (binär) : - 0 0 0 : 0000 bzw 000 -) 0 0 0 : (binär) : Alternative: 0 0 0 0 : 0 0 00000 bzw 0000 -) 0 0 0 0 -) 0 0 0 0 0 0 i) 8 0, 0 0 ii) 8 6 0, 0 0 0

) Rechnen mit einfachen Gleitkomma-Zahlen dezimal binär 8 00 05 0 Damit gilt: ( 8 + ) + 05 ( 00 + ) + 0 ( ) + 0 35 (kein Runden nötig) 8 + ( + 05) 00 + ( + 0 ) 00 + ( ) Runden! 00 + (0 ) 0 Das Ergebnis ist offensichtlich abhängig von der Reihenfolge der abgearbeiteten Operationen Diese Rundungsfehler können auch zu sehr großen Fehlern führen Dabei sei auf die Aufgabe zur Stabiliätsanalyse auf dem nächsten Blatt verwiesen 3) Gleitkomma-Zahlen i) Schriftliches Dividieren (wie in Aufg ): : (binär) : 0 : 0 0 0000 bzw 000 -) 0 0 0 0 0 0 -) 0 0 0 0 -) 0 0 0 0 0 0 Damit erhält man insgesamt: 000 0 Alternative:

< 0 < 0 8 < 0 8 6 6 < 0 8 < 0 8 6 6 ii) Rundungsregel (korrektes Runden) für eine Zahl x ( ) ν e x x x t x t x t+ x t+ : Nr Fallbed Rundungsvorschrift Einfacher Fall: Abrunden ) x t 0 rd(x) ( ) ν e x x x t Einfacher Fall: Aufrunden x t ) x t x t+ x t+ 00000000 rd(x) ( ) ν e (x x x t + (t ) ) Runden zur näheren geraden Mantissen-Zahl: 3) x t x t x t+ 0 0000000 rd(x) ( ) ν e x x x t ) x t x t x t+ 0000000 rd(x) ( ) ν e (x x x t + (t ) ) Erläuterungen zu den verschiedenen Fällen: Fall ) und ) stellen den normalen Fall dar, dass eine reelle Zahl nicht genau in der Mitte zwischen den beiden nächsten Maschinenzahlen liegt; es wird zum näheren Nachbarn gerundet Fall 3) und ) bewirken ein Runden mit Mantissenende x t 0 für reelle Zahlen, die genau zwischen zwei Maschinenzahlen liegen In Fall ) und ) wird mit + (t ) das letzte Bit um eins erhöht (und eventuell ein Übertrag durchgeführt) Frage: Wie kann eine Floating Point Einheit auf der CPU unendlich viele Stellen zum Runden ausrechnen (z B bei periodischen Nachkommastellen)? Das ist nicht nötig Z B muss bei der Division lediglich bekannt sein, ob ein x t+ un-

,5,5,35,5,65,5,85 Fall :,09 Fall :, Fall 3:,5 Fall :,35 Abbildung : Veranschaulichung von Rundungen auf dem Zahlenstrahl gleich 0 ist Diese Information ist über den Rest erhältlich, der ab dem Berechnen von der Stelle x t+ übrig bleibt Beispiel: Es stehen zwei Mantissenbits zur Verfügung, also:, x x t x t x t+ x t+ Damit sind die folgenden Zahlen exakt darstellbar:, 00, 0, 5,, 5,, 5 Beispiele für alle vier Fälle aus der obigen Tabelle: Nr Binärzahl Dezimalzahl ab-/aufrunden ),00 0, 0935 abrunden ), 00, 85 aufrunden 3), 00 0, 5 abrunden ), 0 0, 35 aufrunden Abbildung veranschaulicht die vier Fälle auf dem Zahlenstrahl Für unsere Zahl 000 0 aus Teilaufgabe i) bedeutet das: Bit-Verwendungszweck gesetztes Bit für 000 0 Vorzeichen ( Bit) ( - wird zu ) Exponent (8 Bits) (0 + ) 0 Mantisse (3 Bits) 0 0 0 0 0 0 0 0 0 0 0 0 Das letzte Bit der Mantisse ergibt sich nach der Rundungsregel (so)

iii) Zwei Beispiele: Die Zahl x + 30 ist nicht exakt darstellbar (zuwenig Stellen) Die Zahl wird als rd(x) abgespeichert (vgl Rundungsregeln) Absoluter Fehler: Relativer Fehler: f abs : x rd(x) 30 f rel : f abs /x < 30 x 000 0 Absoluter Fehler: f abs 0 6 Relativer Fehler: f rel 00 6 f abs iv) Definition: Maschinengenauigkeit Die größte positive Zahl ε Ma, so dass ε Ma Die kleinste darstellbare Zahl größer als ist + 3 (3 Bits echt für Mantissen- Nachkommastellen frei, da Normierung nicht extra gespeichert werden muss!) Folglich liegt ε in einer Größenordnung von

) Ermittlung von π nach Archimedes Effekt wie in Tabelle auf Angabe: Vermeintlich höhere Genauigkeit durch mehr Rekursionen verbessert das Ergebnis nicht sondern zerstört den gesamten Wert! Problem: Auslöschung! Algebraische Umformung zur Vermeidung der Auslöschung: s n+ s n s n + s n + s s n n + s n Vergleich der absoluten Fehler der beiden Formeln in Bezug auf echte Lösung π in semilogarithmischer Skala (erstellt mit matlab-programm archimedesm aus www): Approximation von π 0 schlechte Formel (Ausloeschung!) stabile Formel 5 Absoluter Fehler 5 0 5 5 0 5 Iterationen

Zusatzaufgabe: Fehlerabschätzung von Zeitschrittweiten Floating Point Darstellung von /60: Wir starten mit einfacher Division: 0 0 0 0 0 0 : 0 0 00000000 bzw 000000 -) 0 0 0 0 0 0 0 0 -) 0 0 0 0 Für die Mantisse stehen 3 Bit zur Verfügung Die erste an der 6-ten Nachkommastelle wird allerdings nicht explizit abgespeichert D h erst ab der 30-ten Nachkommastelle können die Ziffern nicht mehr abgespeichert werden: 0,00000 000 000 000 000 000 000[ Nr der Nachkommastelle: 5 9 3 Mit der Normalisierung und dem nicht-abspeichern der führenden kann die Zahl deshalb bis auf die 9 Stelle genau abgespeichert werden Wie wird die Zahl dann als floating-point Zahl abgespeichert? Sign: 0 für positive Zahlen Exponent: -6+ 0b0 Mantisse: 0b000000000000 mit nach oben gerundeter letzten Stelle! 0 00 000000000000 Sign Exponent Mantissa Floating point number: () 6 3 8989 00666666535906963 Kleines Beispielprogramm für Zweifler: #i n c l u d e <iostream> i n t main ( ) { f l o a t l ( 0 / 6 0 0 ) ; std : : cout << l << std : : endl ; std : : cout << ( void ) ( unsigned long )& l << std : : endl ; } / Output : 006666 0 x3c888889 ( 000000000000) /

Wie kann man das Problem umgehen? Positionsänderung relativ zur Startposition berechnen Als Zeitschrittweite eine er-potenz wählen (zb /6) Rechengenauigkeit erhöhen Fehler ignorieren, wenn die Simulationsdauer klein genug ist Zusatzaufgabe zu Aufgabe ) i) Quadrat: s U 56568 s n H n h n s n+ Abbildung : Definition der rekursiven Größen ii) Es gilt mit den Definitionen aus Abbildung (+Satz von Pythagoras!): ( h sn ) n + H n h n ( Hn sn ) + s n+

und damit s n+ ( sn ) ( Hn + ( h n ) sn ) + ( ) ( sn ) ( sn ) + ( ) ( sn ) ( sn ) ( sn + + ( sn ) s n ) Der gesamte Umfang des n -Ecks ergibt sich somit zu U n n s n und damit also π n U n / n s n