Kapitel 2. Zahlensysteme

Ähnliche Dokumente
Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung

Zahlensysteme und Kodes. Prof. Metzler

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

Rechnergrundlagen SS Vorlesung

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

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

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

Grundlagen der Technischen Informatik. 3. Übung

1. Grundlegende Konzepte der Informatik

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

Basisinformationstechnologie I

Vorlesung Programmieren

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

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

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

Grundlagen der Technischen Informatik. 3. Übung

Einführung in die Informatik I

Kapitel 5: Darstellung von Daten im Rechner

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

Grundlagen der Technischen Informatik. 3. Übung

Information und ihre Darstellung

RO-Tutorien 3 / 6 / 12

1. Informationsdarstellung. Darstellung und Bedeutung. Darstellung und Bedeutung. Interpretation ??? 1. Kapitel

2 Darstellung von Zahlen und Zeichen

Zahlen in Binärdarstellung

2.1 Fundamentale Typen

Wertebereiche, Overflow und Underflow

1. Tutorium Digitaltechnik und Entwurfsverfahren

Übung Praktische Informatik II

Zahlen- und Buchstabencodierung. Zahlendarstellung

Kapitel 5: Daten und Operationen

Grundlagen der Programmierung

N Bit Darstellung von Gleitkommazahlen

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

, 2017S Übungstermin: Di.,

Binäre Darstellung ganzer Zahlen

Grundlagen der Datenverarbeitung - Zahlensysteme

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Kapitel 2. Zahlensysteme, Darstellung von Informationen

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

Der Zahlenformatstandard IEEE 754

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

Computerarithmetik (6a)

Das Rechnermodell - Funktion

Grundlagen der Informatik I. Übung

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Computergrundlagen Zahlensysteme

Technische Informatik (RO)

5 Zahlenformate und deren Grenzen

Technische Fachhochschule Berlin Fachbereich VIII

Grundlagen der Technischen Informatik. 4. Übung

2 Repräsentation von elementaren Daten

Grundlagen der Technischen Informatik. 4. Übung

Einführung in die Programmiertechnik

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

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

Rechnerorganisation. IHS 2015/2016 H.-D. Wuttke, K. Henke

Das Maschinenmodell Datenrepräsentation

Rechnerorganisation. IHS 2018/2019 H.-D. Wuttke, K. Henke

1. Grundlagen der Informatik Zahlensysteme und interne Zahlendarstellung

Datendarstellung Teil 2

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

Programmieren. Kapitel 3: Wie funktioniert ein moderner Computer? Wintersemester 2008/2009. Prof. Dr. Christian Werner

Digitaltechnik Grundlagen 2. Zahlensysteme

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

Zahlensysteme: Oktal- und Hexadezimalsystem

Thema 1 -- Fortsetzung. Computersystem, Informationsdarstellung

Das Verfahren in Hardware

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

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

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Zahlendarstellungen und Rechnerarithmetik*

TOTAL DIGITAL - Wie Computer Daten darstellen

FAKULTÄT FÜR INFORMATIK

1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen

6.2 Kodierung von Zahlen

Algorithmen & Programmierung. Zahlensysteme Bits und Bytes

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

Transkript:

Kapitel 2 Zahlensysteme 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-1

Zahlensysteme Definitionen Ziffern : Zeichen zur Darstellung von Zahlen Zahl : Eine Folge von Ziffern Basis eines Zahlensystems : Anzahl der unterschiedlichen Ziffern Moderne Zahlensysteme sind positionale Systeme Die Position einer Ziffer innerhalb einer Zahl bestimmt den Beitrag, den diese Ziffer zum Wert der Zahl liefert. Dezimalsystem Basis : 10 Ziffern : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 z.b.: dezimal 123 = 1 * 10 2 + 2 * 10 1 + 3 * 10 0 Binärsystem Basis : 2 Ziffern : 0, 1 (binary digit Bit) z.b.: binär '1001' = 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 Hexadezimalsystem Basis : 16 Ziffern : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F z.b.: Hex-Zahl '1AF' = 1 * 16 2 + 10 * 16 1 + 15 * 16 0 Verwandtschaft : 4 Bits 1 Hexziffer (Nibble) (z.b.: binär '0011 1011' = hexadezimal '3B' 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-2

Unser Dezimalsystem Dezimalsystem Wertebereich - -100-99 -10-9 0 9 10 99 100 Leibniz-Rechner (nur positive Werte, z.b. 3-stellig) Wertebereich 000 009 010 099 100 999 Addition Summand 1 Summand 2 Subtraktion Addition mit Überschreitung Subtraktion mit Unterschreitung Subtrahend Minuend Summand 1 Subtrahend Minuend Summand 2 Die Beschränkung des Wertebereichs hat zur Folge, dass überprüft werden muss, ob bei einer Addition/Subtraktion der gültige Wertebereich verlassen wird. 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-3

4 DHBW Stuttgart Mikrocomputertechnik I Zahlensysteme Realisierung in einem mechanischen Rechner 8 7 7 6 Unterschreitung 9 6 8 5 OK 0 5 9 Überschreitung 1 4 0 3 2 3 1 2 Addition : Drehen der Räder im Uhrzeigersinn Übergang von 9 nach 0 erzeugt einen Übertrag (Carry) Subtraktion : Drehen der Räder entgegen dem Uhrzeigersinn Übergang von 0 nach 9 erzeugt einen Borrow Ein Carry/Borrow aus einer Position muss an die nächst höhere Position weitergegeben werden, solange es noch eine höhere Position gibt. z.b. Addition von 1 am rechten Rad der Abbildung. Ein Carry/Borrow aus der höchsten Position signalisiert eine Überschreitung bzw. Unterschreitung des Wertebereichs. z.b. Subtraktion von 1 am linken Rad der Abbildung. 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-4

Negative Dezimalzahlen Negative Zahlen in unserem Dezimalsystem Werden durch das Vorzeichen spezifiziert Erfordern ein 'kompliziertes' Subtraktionsverfahren Minuend > Subtrahend! 1 4 2-1 3 6 ------------- - 0 0 6 1 3 6-1 4 2 Minuend < Subtrahend! 1 4 2-1 3 6 ------------- - 0 0 6 Realisierung würde viele Schaltkreise erfordern 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-5

Negative Zahlen beim Leibniz-Rechner (nur theoretisch) Wertebereich Darstellung 0 9 10 499 500 999 000 009 010 499 500 999 Überschreitung der Wertebereichsgrenze Von den 1000 Werten des 3-stelligen Leibniz-Rechners werden 500 für negative Zahlen reserviert Die Darstellungen für die positiven Zahlen und die Zahl '0' sollten die selben sein wie bei den rein positiven Zahlen. Für Addition und Subtraktion sollte der selbe Mechanismus verwendet werden wie bei den rein positiven Zahlen. 0 0 0 9 9 9 9 9 8 500-1 - 1-4 9 8-1 9 9 9 9 9 8 5 0 0 4 9 9 Wertebereich Darstellung -500-9 -1 0 10 499 500 991 999 000 010 499 Überschreitung der Wertebereichsgrenze Die erste Ziffer einer Zahl ist 0 4 : positive Zahl (inkl. 0); die erste Ziffer ist 5 9 : negative Zahl 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-6

Negative Zahlen beim Leibniz-Rechner (Forts.) Der Übergang von '999' nach '000' bei einer Addition und der Übergang von '000' nach '999' bei einer Subtraktion stellt kein Verlassen des Wertebereichs dar. Ein Carry oder Borrow signalisiert lediglich den Übergang von positiven zu negativen Zahlen und umgekehrt Der Übergang von '499' nach '500' bei einer Addition und der Übergang von '500' nach '499' bei einer Subtraktion stellt dagegen ein Verlassen des Wertebereichs dar. Diese Übergänge werden als Overflow bezeichnet. Um sicher zu stellen, dass der gültige Wertebereich nicht verlassen wurde, überprüft man beim Rechnen mit rein positiven Zahlen auf Carry/Borrow, gemischt positiven und negativen Zahlen auf Overflow. Berechnung des Betrags einer negativen Zahl N N = 1000 N = 999 N + 1 = (Neunerkomplement von N) + 1 z.b.: 999 = 1000 999 =1; (000) + 1 = 1 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-7

Binär- und Hexadezimalsystem Informationsgehalt 1 Bit : 2 1 = 2 Werte JA NEIN; Ein - Aus 4 Bit : 2 4 = 16 Werte Dezimalziffern (BCD Code) 6 Bit : 2 6 = 64 Werte Ziffern, Großbuchstaben, Sonderzeichen 8 Bit : 2 8 = 256 Werte alle Zeichen, auch nationale Sonderzeichen (ASCII, EBCDIC) 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-8

1 Byte = 8 Bits = 2 Hexziffern 2 8 = 256 unterschiedliche Werte darstellbar BYTE Kleinste im Speicher adressierbare Informationseinheit (in der Regel) Verwendung Zahlenwerte (z.b.: C unsigned char) Zeichen (z.b.: ASCII-Code : 0x30 = '0', 0x31 = '1', 0x39 = '9', 0x41 = 'A', 0x61 = 'a' (siehe Tabelle im Script S.116)) Binärwerte (z.b.: Maschinencode) Bit Bezeichnungen (8051 Konvention) 0000 0000B... 1111 1111B = 0x00... 0xFF Bit 7 Bit 0 2 7... 2 0 Bit 7 : MSB = Most Significant Bit Bit 0 : LSB = Least Significant Bit Schreibweise für Hexadezimalzahlen z.b.: Intel : 5AH, 0F6H; Motorola/Keil : 0x5A, 0xF6; IBM : X'5A', X'F6'; Borland : $5A, $0F6 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-9

Binärzahlen ohne Vorzeichen - 1 Byte (Unsigned Binary unsigned char) Binärzahlen 0 127 128 255 0000 0000 B 0x00 0111 1111 B 1000 0000 B 0x7F 0x80 1111 1111 B 0xFF Überschreitung der Wertebereichsgrenze Binärzahlen mit Vorzeichen - 1 Byte (Signed Binary signed char) -128-1 0 127 1000 0000 B 0x80 1111 1111 B 0000 0000 B 0xFF 0x00 0111 1111 B 0x7F Überschreitung der Wertebereichsgrenze Erstes Bit einer Binärzahl = 0 positive Zahl; erstes Bit einer Binärzahl = 1 Negative Zahl 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-10

Binärzahlen (Forts.) Wie bei den Dezimalzahlen ergibt sich auch bei Binärzahlen ein Überschreiten des Wertebereichs, wenn bei unsigned binary Zahlen ein Übergang zwischen 255 und 0 (0xFF 0x00) stattfindet, und zwar ein Carry bzw. Borrow bei signed binary Zahlen ein Übergang zwischen 127 und 128 (0x7F 0x80) stattfindet. und zwar ein Overflow Der Prozessor registriert in einem einzigen Indikator, dem Carry Flag (CY), ob ein Carry oder Borrow aufgetreten ist. Der Programmierer kann Carry und Borrow unterscheiden, denn er weiß, ob zuvor eine Addition oder eine Subtraktion durchgeführt wurde. Dazu gibt es noch einen Indikator für Overflows, das Overflow Flag (OV). Ein Prozessor führt Additionen und Subtraktionen für Unsigned Zahlen und Signed Zahlen in exakt gleicher Weise aus. Er setzt ggf. das Carry Flag, als ob er Unsigned Zahlen verarbeiten würde. Er setzt ggf. das Overflow Flag, als ob er Signed Zahlen verarbeiten würde Da der Programmierer weiß, welcher Datentyp verarbeitet wurde, kann er durch Inspektion des Carry Flags und/oder des Overflow Flags überprüfen, ob der gültige Wertebereich überschritten wurde. 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-11

Binärzahlen (Forts.) Bei der Addition/Subtraktion von Zahlen, die aus mehreren Bytes bestehen, werden die Bytes einzeln von rechts nach links verarbeitet (von niederwertig nach höherwertig). Bei jeder Byte Operation wird der sog. Carry Out Wert im Carry Flag gespeichert. 2. Byte-Addition/Subtraktion 1. Byte-Addition/Subtraktion Am Beginn einer Operation wird der Wert des Carry Flags als Carry In in die Berechnung einbezogen. Der Carry Out aus einer Byte Position wird so als Carry In in die nächst höhere Byte-Position übernommen. Der Carry In für das niederwertigste Byte wird auf 0 forciert. Nur die Werte des Carry Flags und des Overflow Flags aus der höchsten Position sind für die Gesamtoperation relevant. ± CY ± CY 0 Bei der Addition/Subtraktion jedes einzelnen Bytes setzt der Prozessor sowohl das Carry Flag als auch das Overflow Flag auf 0 bzw 1. Ob ein gesetztes Carry Flag oder Overflow Flag aus der höchsten Position relevant ist, hängt davon ab, ob die Operation für Unsigned Zahlen oder oder Signed Zahlen durchgeführt wurde. 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-12

Overflow Ein Overflow tritt immer dann auf, wenn sich bei der Addition/Subtraktion der höchstwertigen Bytes ein Carry aus Bitposition 6 oder Bitposition 7, aber nicht aus beiden ergibt. Carry aus Bitposition 7 Carry aus Bitposition 6 Overflow 0 0 0 0 1 1 1 0 1 1 1 0 Bei einer vorzeichenbehafteten Binärzahl stellt das höchstwertige Bit das Vorzeichen dar. Die anderen Bits bestimmen den Wert der Zahl. Der Wert des Carry Indikators aus der Bitposition 6 des höchstwertigen Bytes unterscheidet, ob der gültige Wertebereich verlassen wurde. Bei der Addition zweier positiver Zahlen bedeutet ein Carry aus Bitposition 6 einen Overflow, denn Bit 7 der beiden Summanden = 0 Summe dieser beiden Bits ergibt nie einen Carry. Addition zweier negativer Zahlen entsprechend. Addition einer positiven und einer negativen Zahl erzeugt nie einen Overflow. Die nachfolgende Tabelle zeigt einige charakteristische Beispiele. 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-13

Binärzahlen (Forts.) Operation Ergebnis Carry Bit7 Carry Bit6 Carry Unsigned Zahlen Overflow Signed Zahlen 0x00 + 0x7F 0x7F 0 0 0 0 + 127 = 127 0 0 + 127 = 127 0x00 + 0x80 0x80 0 0 0 0 + 128 = 128 0 0 + (-128) = -128 0x00 + 0xFF 0xFF 0 0 0 0 + 255 = 255 0 0 + (-1) = -1 0x7F + 0x01 0x80 0 1 0 127 + 1 = 128 1 127 + 1 = [-128] 0x7F + 0x80 0xFF 0 0 0 127 + 128 = 255 0 127 + (-128) = -1 0x7F + 0x81 0x00 1 1 1 127 + 129 = [256] 0 127 + (-127) = 0 0x7F + 0xFF 0x7E 1 1 1 127 + 255 = [126] 0 127 + (-1) = 126 0xFF + 0xFF 0xFE 1 1 1 127 + 127 = [254] 0 (-1) + (-1) = -2 0x00-0x01 0xFF 1 1 0 0 1 = [-1] 0 0 1 = -1 0x80-0x01 0x7F 0 1 0 128 1 = 127 1 (-128) 1 = [127] Bei Erweiterung des Wertebereiches (z.b. Casting von char nach int) werden positive Zahlen links mit '0' erweitert, negative Zahlen links mit '1' erweitert (z.b.: -128 = 1111 1111 1000 0000B) Umrechnung einer positiven Zahl in eine negative und umgekehrt : N = 1 0000 0000 N = 0 1111 1111 N + 1 = (Einerkomplement von N) + 1 z.b.: 1111 1110 = 1 0000 0000 (0000 0001) + 0000 0001 = 0000 0010-0 1111 1110 ----------------- 0 0000 0010 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-14

Speicherformate Für Informationseinheiten, die aus zwei Bytes (8051,...) 4 By, 8 By (andere Architekturen) bestehen, gibt es zwei Formate für die Anordnung dieser Gruppe von Bytes im Speicher : Beim 8051 Prozessor besteht ein Integerwert aus 16 Bits : B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 Big Endian : 'Das große Ende zuerst' : B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 Beispiel: Der Integerwert 0x1AB4 in Adresse 61 und 62 Speicheradresse 5F 60 61 62 63 64 1A B4 Verwendung : Motorola 68000, PowerPC (zum Teil umschaltbar), KEIL C Compiler Little Endian : 'Das kleine Ende zuerst' : B7 B6 B5 B4 B3 B2 B1 B0 B15 B14 B13 B12 B11 B10 B9 B8 Beispiel: Der Integerwert 0x1AB4 in Adresse 61 und 62 Speicheradresse 5F 60 61 62 63 64 B4 1A Verwendung : Intel, AMD (umschaltbar) 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-15

Wichtige Binärzahlen dezimal 0 1 2 3 4 5 6 7 binär 0000 0001 0010 0011 0100 0101 0110 0111 hexadezimal 0 1 2 3 4 5 6 7 dezimal 8 9 10 11 12 13 14 15 binär 1000 1001 1010 1011 1100 1101 1110 1111 hexadezimal 8 9 A B C D E F Wert 127 128 255 256 1k 4k 16k 64k dezimal 127 128 255 256 1 024 4 096 16 384 65 536 hexadezimal 0x7F 0x80 0xFF 0x0100 0x0400 0x1000 0x4000 0x1 0000 Bereich 0x00... 0x7F 0x00... 0xFF 0x0000... 0x03FF 0x0000... 0x0FFF 0x0000... 0x3FFF 0x0000... 0xFFFF 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-16

Gebräuchliche Informationseinheiten Bezeichnung Wertebereich in 8051 Entwicklungsumgebung Bits unsigned signed KEIL C Datentyp Byte 8 0... 255-128... +127 char Wort 16 0... 64k-1-32k... +32k -1 int (Doppelwort) 32 0... 4M-1-2M... +2M -1 IT Größenangaben Kilo Mega Giga Tera Peta Exa 2 10 2 20 2 30 2 40 2 50 2 60 1024 1 10 3 1024 2 10 6 1024 3 10 9 1024 4 10 12 1024 5 10 15 1024 6 10 18 Beispiel: Umrechnung Anzahl Bits Wertebereich Mit n Ziffern kann man Basis n unterschiedliche Werte darstellen : 0, 1. Basis n 1; Anzahl = Basis n = '1' n Nullen Beispiel : Dezimalsystem mit n = 2 : Werte = 00, 01,, 99; Anzahl = 10 2 = 100 Mathematische Basis : 1000 = 10 3 2 10 = 1024 = 1k 10 3x 2 10x Beispiel 1 : Anzahl = 2 12 = 1 0000 0000 0000B (binäre '1' und 12 binäre Nullen) 2 12 By = 2 2+10 By = 2 2 * 2 10 By 2 2 * 10 3 By = 4 kb Beispiel 2 : 4 GB = 4 * 10 9 By 4 GB = 4 * 10 9 By = 4 * 10 3 * 10 3 * 10 3 By 2 2 * 2 10 * 2 10 * 2 10 By = 2 32 By 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-17

Gleitkommazahlen (I) EVZ Dezimale Gleitkommazahl - Beispiel : + 123,456789 * 10 +14 VZ Mantisse Exponent Komma um eine Position nach links : Zahl wird um Faktor 10 kleiner. Exponent um 1 vergrößern : Zahl wird um Faktor 10 größer Normierte Darstellung : + 0,123456789 * 10 +17 Binäre Gleitkommazahl - Beispiel : + 1011,110010011 * 2-1010 1 * 2-1 = ½ 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-18

Umwandlung in Speicherformat Gleitkommazahlen (II) Beispiel : +1011,110010011 * 2-1010 1. Normierung der Mantisse : Verschieben des Kommas hinter die erste '1'. Beispiel : +1,011110010011 * 2-0111 '1' vor dem Komma muss nicht gespeichert werden (spart ein Bit) 2. Ermittlung der Charakteristik : Charakteristik = Exponent - Exponent min Exponent min Exponent Exponent max 0 Charakteristik Charakteristik max Nur positive Charakteristikwerte - vermeidet Vorzeichen für den Exponenten Exponent 8 Bit Charakteristik Min -128 0 0 128 Max +127 255 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-19

Darstellung im Speicher IEEE 754 Short Precision : 32 Bits Gleitkommazahlen (III) VZ Charakteristic Nachkommastellen der Mantisse 1 8 23 Bits Beispiel : 0 0111 1001 0111 1001 0011 0000 0000 000 VZ = 0 : positive Gleitkommazahl VZ = 1 : negative Gleitkommazahl IEEE 754 Double Precision : 64 Bits Charakteristik : 11 Bits Mantisse : 52 Bits 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-20

Binär codierte Dezimalzahlen - Binary Coded Decimal (BCD) Ungepackte BCD-Zahlen (unpacked BCD) Die Dezimalziffern '0'... '9' werden durch die binären Zahlen '0000 0000' bis '0000 1001' dargestellt. Die Bitkombinationen '0000 1010' bis '1111 1111' sind ungültig. Pro Ziffer einer ungepackten Dezimalzahl wird also ein Byte benötigt. Gepackte BCD-Zahlen (packed BCD) Die Dezimalziffern '0'... '9' werden durch die binären Zahlen '0000' bis '1001' dargestellt. Bei gepackten BCD Zahlen (packed BCD) werden zwei Dezimalziffern in einem Byte gespeichert Die erste Ziffer in Bits 7... 4, Die zweite Ziffer in Bits 3... 0. '0011 1000'B entspricht z.b. der dezimalen Zahl '38'. Da ein Halbbyte 16 Werte annehmen kann, eine Dezimalziffer allerdings nur 10, gibt es 6 nicht verwendete Bitkombinationen '1010'B... '1111'B (0xA... 0xF) Sie werden auch Pseudotetraden genannt. 13.08.12 K.Kraft D:\MCT_Vorlesung\Folien2013\Zahlensysteme_2\Zahlensysteme.odt 2-21