EDV in der Radiologietechnologie - Signale, Zahlensysteme und Zahlendarstellungen PDF
Document Details
Uploaded by Deleted User
Fachhochschule Wiener Neustadt
Michael Rauter
Tags
Summary
This document is a lecture on digital systems, covering topics such as different number systems (binary, decimal, hexadecimal) and their representation within a computer. It explains the concept of bits, bytes and byte multiples and how information is stored and processed in digital form. It references sources including the Wikipedia, demonstrating a wide range of examples and practical applications.
Full Transcript
EDV in der Radiologietechnologie ILV SS Quelle: https://commons.wikimedia.org/wiki/File:2021-04-12_Leibniz-Denkmal_Hannover_01.JPG Signale, Zahlensysteme und -darstellungen Darstellung von Information im Computer 3 Bit Kleinste...
EDV in der Radiologietechnologie ILV SS Quelle: https://commons.wikimedia.org/wiki/File:2021-04-12_Leibniz-Denkmal_Hannover_01.JPG Signale, Zahlensysteme und -darstellungen Darstellung von Information im Computer 3 Bit Kleinste Informationseinheit innerhalb eines Computers Wortkreuzung aus den englischen Worten Binary und Digit grundlegende Informationseinheit, mit denen Computer Rechenoperationen durchführen Nur 2 mögliche Werte können in 1 Bit dargestellt/gespeichert werden: entweder 0 oder 1 jede Art von Information wird intern im Computer als Folge von 0ern und 1ern verarbeitet (als Binärzahlen) Aneinanderreihung von mehreren Bits erlaubt das Codieren von größeren Zahlen (größerer Wertbereich), z.B. lassen sich mit 2 Bits schon 4 verschieden zusammengesetzte Binärzahlen codieren: 00, 01, 10, 11 – somit 4 verschiedene Zustände unterscheiden mit 𝑛 Bits lassen sich 2𝑛 Zustände unterscheiden Bsp.: 26 ist ja nichts anderes als 6 mal 2 mit sich selbst multipliziert: 26 = 2 ∗ 2 ∗ 2 ∗ 2 ∗ 2 ∗ 2 = 64 Michael Rauter n-mal 4 Byte kleinste adressierbare Speichereinheit in vielen Computerarchitekturen Ein Byte besteht aus 8 Bit, welche zusammengefasst werden Somit sind 28 = 256 unterschiedliche Zahlen mit einem Byte darstellbar Je nachdem, ob in diesem Byte ein positiver Ganzzahlenwert oder ein Vorzeichen-behafteter Wert gespeichert werden soll (dazu mehr auf den Folien zu Zahlensystemen und -darstellungen), ermöglicht dies das Speichern von Werten im Wertebereich 0, 255 bzw. −128, 127 Datenbreite Datentyp Wertebereich der darstellbaren ganzen Zahlen 1 Byte (8 Bit) Byte 0, 255 bzw. [−128, 127] 2 Byte (16 Bit) Word [0, 65535] bzw. [−32768, 32767] Double word 4 Byte (32 Bit) [0, 4294967295] bzw. [−2147483648, 2147483647] (Dword) Michael Rauter 5 Byte Vielfache von Bytes Weitere Vielfache von Bytes finden sich in den Bezeichnungen für Speichergrößen bei Arbeitsspeichern, Datenträgern und Datenmengen in der Datenübertragung wieder: Name Symbol Größe Kilobyte (kb) 103 𝐵𝑦𝑡𝑒 = 1 000 𝐵𝑦𝑡𝑒 Megabyte (MB) 106 𝐵𝑦𝑡𝑒 = 1 000 000 𝐵𝑦𝑡𝑒 Gigabyte (GB) 109 𝐵𝑦𝑡𝑒 = 1 000 000 000 𝐵𝑦𝑡𝑒 Terabyte (TB) 1012 𝐵𝑦𝑡𝑒 = 1 000 000 000 000 𝐵𝑦𝑡𝑒 Petabyte (PB) 1015 𝐵𝑦𝑡𝑒 = 1 000 000 000 000 000 𝐵𝑦𝑡𝑒 Exabyte (EB) 1018 𝐵𝑦𝑡𝑒 = 1 000 000 000 000 000 000 𝐵𝑦𝑡𝑒 Zettabyte (ZB) 1021 𝐵𝑦𝑡𝑒 = 1 000 000 000 000 000 000 000 𝐵𝑦𝑡𝑒 Yottabyte (YB) 1024 𝐵𝑦𝑡𝑒 = 1 000 000 000 000 000 000 000 000 𝐵𝑦𝑡𝑒 Dezimalinterpretation … von der International Electrotechnical Commission empfohlene Definition Alternativdefinition: Binärinterpretation (auch gebräuchlich): 1 Kilobyte ≙ 1024 Byte Michael Rauter 6 Codes Was ist ein Code? Eine Abbildungsvorschrift, die jedem Zeichen eines Zeichenvorrats A eindeutig ein Zeichen oder eine Zeichenfolge eines anderen Zeichenvorrats B zuordnet (wobei auch B=A sein kann). Zweck: Informationsaustausch zwischen verschiedenen Akteuren/Systemen Quelle: https://www.alpharithms.com/ascii-table-512119/ Beispiele: Morse-Code, Sprache, Computer-Codes (z.B. ASCII Codes) Der American Standard Code for Information Interchange (ASCII-Code) kodiert Zeichensatz als 7-Bit Zahlen (siehe Grafik rechts) Michael Rauter 7 Signale 8 Signale Grundlegende Terminologie im Kontext der Informationstheorie Eine Nachricht beinhaltet Information, welche sich als Signal beschreiben lässt. Ein Signal ordnet einer messbaren physikalischen Größe (dem Informationsträger) Information zu. Informationsträger wäre im Fall der elektronischen Datenverarbeitung elektrische Spannung. Ein Signal ist i.A. eine zeitlich veränderbare Größe, welche sich mathematisch als Funktion beschreiben lässt (siehe nächste Folien). Kommunikation bezeichnet die Übertragung von Nachrichten. Die Übertragung von Nachrichten erfolgt mithilfe von Codes (siehe vorherige Folien) vom Sender zum Empfänger. Michael Rauter 9 Signale Binäre Digitale Signale Ein binäres digitales Signal ist eine Folge von binären Werten. Auf Schaltungsebene wird es durch die zeitliche Abfolge von Spannungszuständen („Spannung ein“≙1 bzw. „Spannung aus“≙0) gebildet. Es ist ein Spezialfall eines digitalen Signals. Auf Schaltungsebene sind alle Informationen binär digitale Signale. Michael Rauter 10 Analoge vs. Digitale Signale Digitalisierung des analogen Signales Ein analoges Signal ist kontinuierlich, stufenlos, hat einen beliebig feinen Verlauf und kann im Definitionsbereich und Dynamikbereich theoretisch unendlich viele Werte annehmen (Beispiele: Schall, Temperaturverlauf, etc.) Zur Digitalisierung müssen folgende Dinge passieren: Rasterung des Definitionsbereiches der Funktion: (x-Achse) Übergang von unendlich vielen Messwerten zu endlich vielen Quantisierung des Wertebereiches/der Funktionswerte: Übergang von reellen Werten mit theoretisch unendlicher Genauigkeit in einen digitalen Wert mit endlicher Genauigkeit Michael Rauter Grafik abgeändert von Quelle: 11 https://de.m.wikipedia.org/wiki/Datei:Digital.signal.svg Analoge vs. Digitale Signale Digitalisierung des analogen Signales – Rasterung (sampling) Rasterung des Definitionsbereiches: Abtastung des analogen Signals an festgelegten Punkten im Definitionsbereich auf der Zeitachse (x-Achse) äquidistante Abtastpunkte sind üblich die gewählten Abstände zwischen den Abtastpunkten beeinflussen, wie fein das analoge Signal aufgelöst/abgebildet werden kann Michael Rauter Grafik abgeändert von Quelle: 12 https://de.m.wikipedia.org/wiki/Datei:Digital.signal.svg Analoge vs. Digitale Signale Digitalisierung des analogen Signales - Quantisierung Quantisierung des Wertebereiches/der Funktionswerte Anzahl der Bits pro Funktionswert (Quantisierungsauflösung) bestimmt wie genau sich die Funktionswerte darstellen lassen Anzahl der verschiedenen Werte, die f(t) annehmen kann (auf y-Achse) z.B.: 8-bit (Werte: 0-255), 16-bit (0-65535), … Die rote Kurve stellt das digitale Signal dar! Grafik abgeändert von Quelle: https://de.m.wikipedia.org/wiki/Datei:Digital.signal.svg Michael Rauter 13 Analoge vs. Digitale Signale Übergang von digitalem Signal zum binären digitalen Signal Demonstriert anhand des gezeigten Beispiels (aus Gründen der Einfachheit wird die Quantisierungsauflösung mit 3 Bit gewählt – da ja 23 = 8 und somit alle möglichen Werte ( 0,7 ) in diesem Bsp. abgedeckt sind): Digitales Signal Binäres Digitales Signal Grafiken abgeändert von Quelle: Michael Rauter https://de.m.wikipedia.org/wiki/Datei:Digital.signal.svg 14 Zahlensysteme 15 Zahlensystem Typen von Zahlensystemen Additionssysteme: eine Zahl wird als Summe der Werte ihrer Ziffern dargestellt. Position einer Ziffer ändert Wert der Zahl nicht. 0 nicht darstellbar, Rechnen nur umständlich möglich Beispiele: Strichsystem, römisches Zahlensystem Stellenwertsysteme: Wert einer Ziffer wird unterschiedlich gewichtet je nach der Position, 0 und negative Zahlen darstellbar, Rechnen einfach möglich. Beispiele: Dezimalsystem, Binärsystem (Computer rechnen damit), Oktalsystem, Hexadezimalsystem Michael Rauter 16 Stellenwertsysteme Funktionsweise von Stellenwertsystemen Zahlen werden durch Zeichen (Ziffern) dargestellt, die je nach Position (Stelle) eine unterschiedliche Bedeutung (Gewicht) haben: 3. 2. 1. 0. Stelle = 103 = 102 = 101 = 100 784210 = 7 × 1000 + 8 × 100+ 4 × 10 + 2 × 1 Basis … Anzahl der Ziffern des Stellenwertsystems (z.B. 10 beim Dezimalsystem), Dezimalsystem (Basis 10) kennen wir aus dem Alltag Michael Rauter 17 Stellenwertsysteme Überblick Stellenwertsysteme Name Basis Ziffern Beispiel Binärsystem 2 0,1 0101 Vierersystem 4 0,1,2,3 3312 Oktalsystem 8 0,1,2,3,4,5,6,7 173 Dezimalsystem 10 0,1,2,3,4,5,6,7,8,9 46798 Hexadezimalsystem 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F CAFE Michael Rauter 18 Stellenwertsysteme Überblick Stellenwertsysteme Dezimal Binär Oktal Hexadezimal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 Michael Rauter 19 Stellenwertsysteme Funktionsweise von Stellenwertsystemen Beispiel: 2014.46910 Ziffer (digit): ein Zeichen aus dem Zeichenvorrat, aus denen die Zahl besteht (z.B. 10er System: 0,1,2, … , 9) Numeral (numeral): die Folge von Zeichen, die die Zahl darstellen (2014.469) Position (position): die Position/Stelle einer Ziffer innerhalb des Numerals (0er bei Bsp.-Zahl wäre an Position 2) Numeral 2 0 1 4. 4 6 9 Position 3 2 1 0 -1 -2 -3 Basis (base): eine natürliche Zahl größer 1, Anzahl der unterschiedlichen Ziffern (in unserem Beispiel 10) - der Wert der höchsten Ziffer ist Basis-1 (bei Basis 10 also 9) Michael Rauter 20 Stellenwertsysteme Funktionsweise von Stellenwertsystemen Umrechnen von Zahl mit Basis B ins Dezimalsystem: 𝑛 𝑍 = 𝑍𝑛 × 𝐵𝑛 + 𝑍𝑛−1 × 𝐵𝑛−1 + ⋯ + 𝑍1 × 𝐵1 + 𝑍0 × 𝐵0 = 𝑍𝑖 × 𝐵𝑖 𝑖=0 Einfaches Beispiel (Umwandeln von Dezimalsystem ins Dezimalsystem, später folgen Umwandlungen aus Stellenwertsystemen mit anderer Basis): 5019610 = 5 × 104 + 0 × 103 + 1 × 102 + 9 × 101 + 6 × 100 = = 50000 + 0 + 100 + 90 + 6 = 5019610 Ziffer 5 0 1 9 6 Position 4 3 2 1 0 Basis 10 Gewicht 104 = 10000 103 = 1000 102 = 100 101 = 10 100 = 1 Wert 5 × 104 0 × 103 1 × 102 9 × 101 6 × 100 Michael Rauter 21 Binärsystem Eigenschaften Dezimal Binär 0 0 binäres Zahlensystem = Zahlensystem zur Basis 2 1 1 →B=2 2 10 Ziffern: 0 (Null) und 1 (Eins) 3 11 4 100 unkomplizierten Implementierung in digitalen elektronischen 5 101 Schaltungen unter Verwendung von Logikgattern 6 110 7 111 Binärsystem wird intern von fast allen modernen Computern 8 1000 und computerbasierten Geräten verwendet 9 1001 10 1010 Jede einzelne Ziffer einer Binärzahl entspricht einem Bit 11 1011 12 1100 13 1101 14 1110 15 1111 16 10000 Michael Rauter 22 Hexadezimalsystem Eigenschaften Dezimal Hexadezimal 0 0 hexadezimales Zahlensystem = Zahlensystem zur Basis 16 1 1 → B = 16 2 2 16 Ziffern: 0,1,…,9,A,B,C,D,E,F (bzw. 0,1,…,9,a,b,c,d,e,f) 3 3 4 4 2 hexadezimale Ziffern erlauben die kompakte Darstellung 5 5 eines Bytes, z.B. 𝐹𝐹16 = 25510 , 7𝐹16 = 12710 6 6 7 7 Wo kommt man u.a. in Kontakt mit Hexadezimalwerten? 8 8 ❖ Programmieren (Speicheradressen) 9 9 10 A ❖ Netzwerktechnik (MAC-Adressen) 11 B ❖ Bildbearbeitung - RGBA-Farbwerte werden mitunter als 32- 12 C 13 D Bit Werte als Hexadezimalwert angegeben, z.B.: ffffffff 14 E (weiß), ff0000ff (rot), 00ff00ff(grün), ffff00ff (gelb) 15 F 16 10 Michael Rauter 23 Konvertierung zwischen Zahlensystemen 24 Konvertierung zwischen Zahlensystemen Potenzmethode - ins Dezimalsystem umwandeln 10012 = 1 × 23 + 0 × 22 + 0 × 21 + 1 × 20 = 910 33124 = 3 × 43 + 3 × 42 + 1 × 41 + 2 × 40 = 24610 siehe Folien Nr. 17 u. 21 Das kennen wir schon - 1738 = 1 × 82 + 7 × 81 + 3 × 80 = 12310 4679810 = 4 × 104 + 6 × 103 + 7 × 102 + 9 × 101 + 8 × 100 = 4679810 𝐶𝐴𝐹𝐸16 = 12 × 163 + 10 × 162 + 15 × 161 + 14 × 160 = 5196610 Michael Rauter 25 WS Konvertierung zwischen Zahlensystemen Horner-Schema - ins Dezimalsystem umwandeln Bsp.: 201410 WS 2 + 0 + 1 + 4 + 20 200 2010 2 20 201 201410 × 𝐵𝑎𝑠𝑖𝑠 × 𝐵𝑎𝑠𝑖𝑠 × 𝐵𝑎𝑠𝑖𝑠 Michael Rauter 26 Konvertierung zwischen Zahlensystemen Horner-Schema - ins Dezimalsystem umwandeln 10012 1 0 0 1 2 4 8 1 2 4 910 3 3 1 12 33124 12 60 244 3 15 61 24610 1 7 3 1738 8 120 WS 1 15 12310 Michael Rauter 27 Konvertierung zwischen Zahlensystemen Horner-Schema - ins Dezimalsystem umwandeln 4679810 4 6 7 9 8 40 460 4670 46790 4 46 467 4679 4679810 𝐶 (12) 𝐴 (10) 𝐹 (15) 𝐸 (14) 𝐶𝐴𝐹𝐸16 192 3232 51952 WS 12 202 3247 5196610 Michael Rauter 28 Konvertierung zwischen Zahlensystemen Horner-Schema - von Dezimalsystem umwandeln 201410 =? ? ? ?8 Berechnung Ergebnis Rest 6 Rest, da 251 × 8 = 2008 ist, 2014 ÷ 8 251 6 und auf 2014 fehlen dann 6 251 ÷ 8 31 3 Reihenfolge zum Ablesen 31 ÷ 8 3 7 3÷8 0 3 0 → 201410 = 37368 WS Michael Rauter 29 Konvertierung zwischen Zahlensystemen Horner-Schema - von Dezimalsystem umwandeln 201410 =? ? ? ?16 Berechnung Ergebnis Rest 2014 ÷ 16 125 14 (𝐸) 125 ÷ 16 7 13 (𝐷) 7 ÷ 16 0 7 (7) 0 → 201410 = 7𝐷𝐸16 WS Michael Rauter 30 Darstellung von negativen Zahlen im Computer 31 Darstellung von negativen Zahlen im Computer Wie können negative Zahlen dargestellt werden? Grundlegende Überlegungen: 1 Bit vorsehen als Vorzeichenbit Höchstwertiges Bit zeigt das Vorzeichen an: 0…positive Zahl, 1…negative Zahl Kodiert man mit den restlichen Bits den Betrag der Zahl (wie bisher gesehen) spricht man bei dieser Darstellung von Binärer Vorzeichen-/Betragsdarstellung Da ein Bit für die Kodierung des Vorzeichens reserviert wird, können so nur entsprechend kleinere Beträge kodiert werden, z.B.: bei 8 Bit, nur 27 = 128 Werte → Zahlen 0 bis 127 → darstellbar mit VZB: [−127,127] Bsp.: Zahl −38 mit 8 Bit (wobei höchstwertiges Bit das Vorzeichenbit sei): −3810 = 10100110 (zum Vergleich: +3810 = 00100110) Nachteile: 2 verschiedene Darstellungen für 0, Berechnungen mit dieser Zahlendarstellung in elektronischen Schaltungen schwieriger zu realisieren als bei den folgenden Zahlendarstellungen Michael Rauter 32 Darstellung von negativen Zahlen im Computer Einerkomplement-Darstellung Das Einerkomplement einer Binärzahl ist definiert als der Wert, der durch Invertieren aller Bits in der Binärdarstellung der Zahl erhalten wird (Tauschen von Nullen gegen Einsen und umgekehrt = bitweise Negation). Einerkomplement von 3810 (001001102): ! 00100110 = 11011001 Einerkomplement-Darstellung: Höchstwertiges Bit zeigt das Vorzeichen an: 0…positive Zahl, 1…negative Zahl Für positive Zahlen ist der Betrag direkt ablesbar aus dem Bitmuster Darstellung negativer Ganzzahlen mittels Einerkomplements über das Bitmuster des entspr. positiven Pendants Bsp.: −3810 = 11011001 (zum Vergleich: +3810 = 00100110) Nachteile: wieder 2 verschiedene Darstellungen für 0 (Bereich darstellbarer Zahlen [−2𝑛−1 − 1, +2𝑛−1 − 1]), wenn bei Addition von Zahlen im Einerkomplement ein Nulldurchgang stattfindet, entsteht ein Übertrag aus dem Bitbereich heraus (muss erkannt u. korrigiert werden) → elektronische Schaltungen komplexer als nötig Michael Rauter 33 Darstellung von negativen Zahlen im Computer Zweierkomplement-Darstellung Zweierkomplement-Darstellung: Höchstwertiges Bit zeigt das Vorzeichen an: 0…positive Zahl, 1…negative Zahl Wortbreite muss definiert werden (z.B. 8 Bits, 16 Bits, …) Für positive Zahlen ist der Betrag direkt ablesbar aus dem Bitmuster Sämtliche binäre Stellen werden negiert (Einerkomplement) und zum Ergebnis wird 1 hinzuaddiert Der Wert 0 wird den positiven Zahlen zugerechnet, keine doppelte Darstellung Wertebereich darstellbarer Zahlen [−2𝑛−1 , 2𝑛−1 − 1], z.B. bei 8 Bit −128,127 keine zusätzliche Steuerlogiken nötig (einfaches Schaltungsdesign) Bsp.: −3810 : Binärdarstellung von +3810 (001001102 ), Einerkomplement: 11011001, Addieren (+1) ergibt: 11011010 → −3810 = 110110102 Michael Rauter 34 Arithmetische Berechnungen mit ganzen Zahlen 35 Arithmetische Berechnungen mit ganzen Zahlen Addition Dezimal: 32610 + 4810 3 2 6 4 8 Übertrag 1 3 7 4 = 37410 Oktal: 3268 + 478 Hilfsrechnungen: 3 2 6 6 × 81 + 7 × 80 = 1310 , 4 7 Horner-Schema: 13 ÷ 8 = 1, Rest: 5 Übertrag 1 3 7 5 = 3758 Michael Rauter 36 Arithmetische Berechnungen mit ganzen Zahlen Subtraktion 910 und wieviel ist 1210 ? → 310 Dezimal: 12310 − 9210 1 2 3 − 9 2 Übertrag 1 3 1 = 3110 Oktal: 1648 + 478 1 6 4 78 und wieviel ist 148 ? → 58 4 7 Übertrag 1 1 1 5 = 1158 Michael Rauter 37 Arithmetische Berechnungen mit ganzen Zahlen Subtraktion mit Binärzahlen mittels Zweierkomplement 1410 − 910 = 510 Zuerst umwandeln in Binärzahlendarstellung: (wir erweitern auf 8-Bit - damit wir sicher genug Stellen für die Darstellung der Zahlen und für das Ergebnis haben) als positive Zahlen: 1410 = 000011102 , 910 = 000010012 Da wir aber subtrahieren wollen (was dem Addieren mit der negativen Zahl entspricht, suchen wir die Darstellung für −910 im Zweierkomplement): Zweierkomplement von 000010012 → 11110111 Dann Addition im Binärsystem: Rückrechnen auf Betrag der negativen Zahl: Einerkomplement, dann +1 addieren 00001110 → 11110111 → 00001000 → 000010012 + 11110111 Michael Rauter 100000101 = 1012 = 510 38 Übertrag, irrelevant (dank 2er-Komplement) Arithmetische Berechnungen mit ganzen Zahlen Achtung: Gefahr von Überlauf Stehen für das Ergebnis einer Rechenoperation nicht genügend Bit zur Verfügung spricht man von einem Überlauf Dies ist ein kritischer Berechnungsfehler, daher muss man immer genug Bit für das Ergebnis vorsehen Bsp. Für einen Überlauf bei Addition zweier positiver Zahlen bei zu geringer Datengröße - hier: 5-Bit (zu klein) 2610 + 710 : korrektes Ergebnis wäre also 3310 - Wertebereich aber nur [0, 32] 2610 = 110102 , 710 = 001112 11010 + 00111 100001 = 000012 = 110 Falsches Ergebnis Überlauf, benötigtes Bit wäre 6. Bit – aber nur 5 Bits für Ergebnis verfügbar Michael Rauter 39 Darstellung von Kommazahlen im Computer 40 Darstellung von Kommazahlen im Computer Wie werden Kommazahlen im Computer dargestellt? In Computern hat sich die Verwendung von Gleitkommazahlen für die Darstellung von Kommazahlen etabliert. Im Englischen spricht man von floating-point numbers. Die Alternative sind Festkommazahlen, die allerdings für die Darstellung im Computer unpraktischer sind. Einsatz von Gleitkommazahlen: Praktische Schreibweise sehr großer und sehr kleiner Zahlen in Gleitkomma- oder Exponentialschreibweise, bzw. wissenschaftlicher Notation Bsp.: 2.99792458 × 108 , 2.99792458𝑒8 Repräsentation von Kommazahlen in Computern Die Bestandteile einer Gleitkommazahl in wissenschaftlicher Notation sind dabei (gezeigt anhand eines Beispiels): Vorzeichen Exponent mit konsequenter Normalisierung −12.345 = −1.2345 × 10−3 auf 1 ≤ 𝑚 < 10 Mantisse Basis 𝑚 … Mantisse Michael Rauter 41 Darstellung von Kommazahlen im Computer Wie werden Kommazahlen im Computer dargestellt? Technische Umsetzung – Gleitkommazahlen werden im Computer am häufigsten so realisiert: Hier für eines der am häufigsten verwendeten Speicherformate - IEEE-754-single precision (32-Bit floating point): Quelle: https://upload.wikimedia.org/wikipedia/commons/5/56/IEEE-754-single.svg Ebenfalls häufig verwendet wird das double precision 64-Bit floating point Speicherformat (E…11 Bit, M…52 Bit) (z.B. in Python wird das sogenannte double Datentyp so repräsentiert) Michael Rauter 42 Darstellung von Kommazahlen im Computer Wie werden Kommazahlen im Computer dargestellt? Eigenschaften und Überlegungen zum IEEE-754-single precision (32-Bit floating point) Format: 1 Vorzeichenbit, 8 Bit für Exponent (in der Grafik als Charakteristik bezeichnet), 23 Bits für Mantisse Mantisse normalisiert bzw. Darstellung eindeutig/einzigartig, Anzahl der Bits bestimmt wie genau Zahlen dargestellt werden können, i.A. sind nur die ersten 7 Stellen exakt darstellbar Anzahl der Bits für Exponent bestimmt, wie klein bzw. groß Kommazahlen werden können/darstellbar sind: −126 ≤ 𝑒 ≤ 127, wobei 𝑒 … Exponent bei dezimaler Schreibweise der dargestellten Zahl Beispiele für Umwandlung von und in Gleitkommazahlen im IEEE-754-single precision Format finden sich hier: https://de.wikipedia.org/wiki/IEEE_754 https://de.wikipedia.org/wiki/IEEE_754 Quelle: https://upload.wikimedia.org/wikipedia/commons/5/56/IEEE-754-single.svg Michael Rauter 43 Darstellung von Kommazahlen im Computer Wie werden Kommazahlen im Computer dargestellt? Darstellbarkeit von Zahlen im IEEE-754-single precision (32-Bit floating point) Format - Beispiel: 𝜋 = 3.14159265359... Als IEEE-754-single precision Gleitkommazahl werden aber nur 23 Bit für die Darstellung der Mantisse verwendet, und als Konsequenz können in diesem Bsp. nur 7 Nachkommastellen repräsentiert werden: 3.1415927 Versucht man genauere Zahlen zu speichern bzw. erhält man als Ergebnis einer Berechnung weitere Stellen, so können diese nicht gespeichert werden, im obigen Beispiel ist auch schon die 8 signifikante Stelle (die 7. Stelle nach dem Komma) potenziell mit Rundungsfehlern behaftet, wie folgendes Beispiel zeigt, bei dem versucht wird, geringfügig unterschiedliche Zahlen abzuspeichern: Input gespeicherter Wert 3.14159266 3.1415927 3.14159263 3.1415927 Michael Rauter 44 3.14159262 3.1415925