11.07.2015 Aufrufe

1 Informatik Grundlagen 2 6. Zahlensysteme und Rechnerarithmetik

1 Informatik Grundlagen 2 6. Zahlensysteme und Rechnerarithmetik

1 Informatik Grundlagen 2 6. Zahlensysteme und Rechnerarithmetik

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2<strong>6.</strong> <strong>Zahlensysteme</strong> <strong>und</strong><strong>Rechnerarithmetik</strong>Fachbereich WirtschaftSommersemester 2006Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. KohlWolfsburg, 15.02.2006Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftÜbersicht<strong>6.</strong>1 Fließkommaarithmetik<strong>6.</strong>1 Fließkommaarithmetik im Dualsystem<strong>6.</strong>2 Weitere <strong>Zahlensysteme</strong><strong>6.</strong>3 Zeichenkodierunginhaltlich identisch mit Kap. 5.3 – 5.5 des 1. Semester;als bekannt vorausgesetzt:– 5.1 Binärsysteme– 5.2 Das duale ZahlensystemFrage: Wie sind gebrochene Zahlen in der Dualarithmetik zubehandeln?Möglichkeit 1: Festkommadarstellung (fixed point representation)– feste Stellenzahl m wie für ganze Zahlen– aufgeteilt in m' Stellen vor <strong>und</strong> m'' Stellen nach dem Komma(m' + m'' = m)• z.B. x x x x x x x x → x x x x x , x x x– z.B. Datentyp Currency in VBA– Rechenverfahren können übernommen werden,nur kleine Anpassungen notwendig• z.B. Stellenkorrektur bei Multiplikation:00001010 · 00001100 = 0111100000001,010 · 00001,100 = 00001,111<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl3<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl4Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftEinschränkungen der FestkommadarstellungExponentialdarstellung (im Dezimalsystem)Genauigkeitsverlust bei kleinen Beträgen– Beispiel (dezimal): 00123,456 : 100 = 00001,234• d.h. zwei signifikante Ziffern gehen verlorenÜberlauf bei hohen Beträgen– Beispiel (dezimal): 00123,456 · 1000 = (1)23456,000• zuviele Stellen für vorgesehene Darstellungbesser, weil flexibler: Fließkommadarstellung– = „Gleitkommadarstellung“ (floating point representation)– Idee: getrennte Darstellung von signifikanten Ziffern <strong>und</strong> ihrer Position– entspricht Exponentialschreibweise in der MathematikZahl wird zerlegt in Produkt aus zwei Teilen:– Mantisse (zeigt signifikante Stellen)– Exponent (zeigt Position der Mantisse in Zehnerpotenzen)– Beispiel: 123,456 = 1,23456 · 10 2 bñéçåÉåí=EbFj~åíáëëÉ EjF_~ëáë=E_F– somit kein Ziffernverlust oder Überlauf bei Stellenverschiebung, z.B.• 1,23456 · 10 2 : 100 = 1,23456 · 10 0• 1,23456 · 10 2 · 1000 = 1,23456 · 10 5<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl5<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl61


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftExponentialdarstellung (im Dezimalsystem)Duale Fließkommadarstellung in RechnersystemenProblem: Exponentialdarstellung nicht eindeutig– z.B. 1,23456 · 10 0 = 1234,56 · 10 –3 = 0,0123456 · 10 2– erschwert Vergleichedeshalb Normalisierung– z.B. „Mantisse hat genau 1 Stelle von dem Komma“• ebenfalls gebräuchlich: 0 Stellen vor dem Komma– damit Vergleich einfach• a = b, falls E(a) = E(b) <strong>und</strong> M(a) = M(b)• a < b, falls E(a) < E(b) oder [E(a) = E(b) <strong>und</strong> M(a) < M(b)] mehrere gebräuchliche Standards hier: IEEE-Format (Institute of Electrical and Electronics Engineers)– normiert für einfache <strong>und</strong> doppelte Genauigkeit gemäß IEEE 754• Gesamtgröße: 32 Bit 64 Bit• Vorzeichen: 1 Bit 1 Bit• Exponent: 8 Bit 11 Bit• Mantisse: 23 Bit 52 Bitsw bñéçåÉåí j~åíáëëÉ– z.B. Datentypen Single <strong>und</strong> Double in VBA<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl7<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl8Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftDuale Fließkommadarstellung in RechnersystemenDuale Fließkommadarstellung in RechnersystemenErläuterungen zum IEEE-Format– Vorzeichen: 0 für positive, 1 für negative Zahlen– Exponent: Wertebereich –2 7 +2 bis 2 7 –1 (d.h. –126 bis +127)• in Exzeßdarstellung (ähnlich wie Zweierkomplement)• bei doppelter Genauigkeit –2 10 +2 bis 2 10 –1 (–1022 bis +1023)– Mantisse: normalisiert auf 1,…• dabei die führende 1 nicht selbst dargestellt• Sonderfall: Wert 0 nicht normalisierbar (niemals = 1,…)– dargestellt durch minimale Mantisse <strong>und</strong> Exponent(alle Bits gleich 0)• weitere Sonderfälle: ± ∞ (unendlich), NaN (Not a Number)nachfolgende Beispiele zur besseren Anschauung im Dezimalsystem– im Dualsystem aber nach gleichen Prinzipien realisiertAddition/Subtraktion:– keine Komplementdarstellung für negative Zahlen(bei Fließkommadarstellung eher unpraktisch)– also Subtraktion „klassisch“ implementiert1. Vorbereitung: beide Zahlen auf gleichen (höheren) Exponenten bringen2. Mantissen addieren/subtrahieren3. Ergebnis bei Bedarf neu normalisieren– Beispiel (dezimal):• 1,234 · 10 4 – 9,876 · 10 3 =1,234 · 10 4 – 0,9876 · 10 4 = 0,2464 · 10 4 = 2,464 · 10 3<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl9<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl10Verwendung von FließkommazahlenFachhochschule Braunschweig / WolfenbüttelFachhochschule Braunschweig / WolfenbüttelFachbereich WirtschaftFachbereich Wirtschaft0,1249 · 10 1 = 1,249 · 10 0 z.B. 1/3 = 0,3333333333Á 10- University of Applied Sciences -- University of Applied Sciences -Anmerkungen zur FließkommaarithmetikMultiplikation/Division: Umrechnung dezimal ↔ dual– Mantissen multiplizieren/dividierenÓ erweiterte Form des Horner-Schemas– Exponenten addieren/subtrahierenÓ Problem: manche Dezimalzahlen im Dualsystem nicht endlich darstellbar– bei Bedarf renormalisieren√ z.B. 0,2 10= 0,0011001100110011Á 2– Beispiele (dezimal):√ dadurch ungenaue Umwandlung,• 1,234 · 10 4 · 9,876 · 10 3 = 1,234 · 9,876 · 10 4 · 10 3 =z.B. 0,00110011 2= 0,19921875 10≠ 0,2 1012,187 · 10 7 = 1,2187 · 10 8√ umgekehrt jedoch kein Problem (weil 2 Teiler von 10)• 1,234 · 10 4 : 9,876 · 10 3 = 1,234 : 9,876 · 10 4 : 10 3 =√ Problem als solches in allen <strong>Zahlensysteme</strong>n bekannt,Ó vgl. łGenauigkeit (s.u.)<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl11<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl122


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftAnmerkungen zur FließkommaarithmetikGenauigkeit der FließkommaarithmetikWertebereichsgrenzenÓ Wertebereiche zweifach eingeschr®nkt:√ durch maximale ExponentenÓ z.B. IEEE/32 Bit: Ó2 127 bis +2 127 ≈ Ó10 38 bis +10 38Ó gr∏≈ere Betr®ge nicht darstellbar (§ber-/Unterlauf)√ durch minimale ExponentenÓ z.B. IEEE/32 Bit: Ó2 Ó126 bis +2 Ó126 ≈ Ó10 Ó38 bis +10 Ó38Ó kleinere Betr®ge fallen auf 0 zurΩckinterne Darstellung meist genauer als AnzeigeÓzus®tzliche Stelle(n) fΩr R<strong>und</strong>ung verwendet, z.B.√ 10 : 3 = 3,3333 angezeigt als 3,333√ 3,3333 · 3 = 9,9999 angezeigt als 10,000mehrere Quellen fΩr Rechenungenauigkeiten:ÓÓNichtdarstellbarkeit bestimmter Zahlen (s.o.)łAusl∏schung von Stellen am Mantissenende, z.B.√ 1.000.000 + 1 = 1.000.001√ intern: 1,0000 · 10 6 + 1,0000 · 10 0 =1,0000 · 10 6 + 0,0000(01) · 10 6 =1,0000 · 10 6<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl13<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl14Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftGenauigkeit der Fließkommaarithmetik<strong>6.</strong>2 Weitere <strong>Zahlensysteme</strong> – Hexadezimalsystemin Programmiersprachen: Genauigkeitssicherung demProgrammierer ΩberlassenÓÓVorsicht bei Test auf Gleichheit!bei Bedarf z.B.If x = y Then ...ersetzen durchIf Abs(x – y) < 0.000001 Then ...auch „Sedezimalsystem“ Stellenwertsystem zur Basis 16Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F– A 16= 10 10, B 16= 11 10, C 16= 12 10, D 16= 13 10, E 16= 14 10, F 16= 15 10 meist verwendet als Kurzschreibweise für Dualzahlen bzw.Binärworte– dabei i.a. keine Darstellung negativer Zahlen;statt dessen interpretiert als positive Zahlen– aber prinzipiell vollwertiges Zahlensystem<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl15<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl16Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftHexadezimalsystemOktalsystemKurzschreibweise für Dualzahlen:– je vier Dualziffern (Tetrade) durch eine Hexadezimalziffer dargestellt– nicht nur für Zahlen, sondern für beliebige binäre Speicherinhalte(Zeichen, Befehle etc.)Ó 1 Byte ≙ 2 Ziffern, 2 Byte ≙ 4 Ziffern, ÁÓ Beispiel:1011001110001110= 1011 0011 1000 1110= B 3 8 E= B38E– funktioniert, weil 2 4 = 16– kompakt wie Dezimaldarstellung, aber Byte-Struktur bleibt erhalten Stellenwertsystem zur Basis 8 Ziffern 0, 1, 2, 3, 4, 5, 6, 7 ebenfalls als Kurzschreibweise für Dualzahlen:– eine Oktalziffer für je drei DualziffernÓ Beispiel: 101001100= 101 001 100= 5 1 4= 514– funktioniert, weil 2 3 = 8– Vorteil gegenüber Hexadezimalsystem: keine neuen Ziffern– Nachteil: Byte (8 Bit) nicht in Dreiergruppen teilbar• deshalb seltener verwendet<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl17<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl183


Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftFachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftWeitere ZeichenkodierungenWas Sie in diesem Kapitel gelernt haben sollten…Unicode– neuerer Kode, ebenfalls ISO-standardisiert 1993– Ziel: Berücksichtigung möglichst vieler Sprachen <strong>und</strong> ihrer Eigenheiten• Buchstaben-, Silben-, <strong>und</strong> Ideogrammsprachen• Schreibrichtungen (links-rechts, rechts-links, oben-unten)• außerdem diverse Sonderzeichen, mathematisch-technischeSymbole, Diakritika, geometrische Formen, Pfeile, Piktogrammeu.v.m.– dafür 16-Bit-Darstellung (erlaubt 65.536 Zeichen)– Erweiterung auf 32 Bit für künftigen BedarfBinärsystemeduales Zahlensystem– Definition– Umrechnung dual-dezimal(Horner-Schema)– Ganzzahl- <strong>und</strong>Fließkommaarithmetik• Komplementdarstellungnegativer Zahlen• Gr<strong>und</strong>rechenarten– Probleme (Präzision,Über-/Unterlauf)weitere <strong>Zahlensysteme</strong>– Hexadezimalsystem– OktalsystemZeichenkodierung– ASCII– EBCDIC– Unicode<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl25<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl26Fachhochschule Braunschweig / Wolfenbüttel- University of Applied Sciences -Fachbereich WirtschaftLiteraturempfehlungen <strong>Gr<strong>und</strong>lagen</strong>: Gumm/Sommer (→ Kapitel 1) Blieberger et al.: <strong>Informatik</strong> IT AD 047Web-Quellen:– Kodierungen:• http://www.foldoc.orgSuchworte: ASCII, EBCDIC, Unicode etc.– Unicode:• http://research.compaq.com/wrl/DECarchives/DTJ/DTJB02/DTJB02SC.TXT<strong>Informatik</strong> <strong>Gr<strong>und</strong>lagen</strong> 2Sommersemester 2006 – Version 1.4Dipl.-Inform. H. Märtens / Dipl. W. Inf. U. Kohl275

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!