Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik



Ähnliche Dokumente
Computergrundlagen Zahlensysteme

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Grundlagen der Informatik

Binärdarstellung von Fliesskommazahlen

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

Grundlagen der Informatik 2 Grundlagen der Digitaltechnik. 1. Zahlensysteme

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

Zahlensysteme. von Christian Bartl

Übungen zu Informatik 1

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

Daten verarbeiten. Binärzahlen

Binäre Gleitkommazahlen

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

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

Modul 114. Zahlensysteme

Übung RA, Kapitel 1.2

Einführung in die Programmierung

Grundlagen der Informatik Übungen 1.Termin

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

Computerarithmetik ( )

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

Lösung 1. Übungsblatt

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

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme. Zahl Stellenwert Zahl Zahl =

Technische Informatik - Eine Einführung

Technische Informatik I

Zahlensysteme Seite -1- Zahlensysteme

, WS2012 Übungsgruppen: Mo.,

Im Original veränderbare Word-Dateien

2 Darstellung von Zahlen und Zeichen

Black Box erklärt Zahlensysteme.

Numerisches Programmieren, Übungen

Informationsdarstellung im Rechner

Infocode. Auswertung von Systemmeldungen

Information in einem Computer ist ein

Teil II. Schaltfunktionen

3 Zahlensysteme in der Digitaltechnik

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

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

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

Grundlagen der Informatik Übungen 1. Termin Zahlensysteme

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

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?

7 Rechnen mit Polynomen

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

Mikro-Controller-Pass 1

Daten, Informationen, Kodierung. Binärkodierung

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

Die Zahlensysteme. Bommhardt. Das Vervielfältigen dieses Arbeitsmaterials zu nichtkommerziellen Zwecken ist gestattet.

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

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

BSZ für Elektrotechnik Dresden. Zahlenformate. Dr.-Ing. Uwe Heiner Leichsenring

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

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

Zahlendarstellungen und Rechnerarithmetik*

3 Rechnen und Schaltnetze

Numerische Datentypen. Simon Weidmann

Das Rechnermodell - Funktion

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Vertiefungsstoff zum Thema Darstellung von Zahlen

Inhalt: Binärsystem 7.Klasse - 1 -

2 Rechnen auf einem Computer

Informationsblatt Induktionsbeweis

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Zeichen bei Zahlen entschlüsseln

Einstieg in die Informatik mit Java

Eine Logikschaltung zur Addition zweier Zahlen

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Das Maschinenmodell Datenrepräsentation

Die Subnetzmaske/Netzwerkmaske

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

Grundlagen der Informatik (BSc) Übung Nr. 5

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Binär- und Hexadezimal-Zahl Arithmetik.

N Bit binäre Zahlen (signed)

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

Grundlagen der Technischen Informatik. 4. Übung

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

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Von Bits, Bytes und Raid

Aufgaben zu Stellenwertsystemen

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Mathematischer Vorbereitungskurs für Ökonomen

Data Mining: Einige Grundlagen aus der Stochastik

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

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

Binär Codierte Dezimalzahlen (BCD-Code)

Gliederung. Was ist der Unicode? Warum gibt es den Unicode? Wie funktioniert er? Wo ist mein Schriftzeichen? Kritische Stimmen

Transkript:

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13

Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren, Widerständen und Kondensatoren Leitungen kennen nur zwei Zustände: Spannung oder nicht Interpretation als ja/nein, 0/1, an/aus, richtig/falsch... Schaltungen entsprechen logischen Operationen Die richtige Algebra (das richtige Zahlensystem) musst verwendet werden um damit rechnen zu können. Computergrundlagen 2/20

Aussagenlogik G. Boole, 1815-1864 erlaubt formale Beweise über logische Aussagen Grundlage der Computerlogik kann mathematisch als Algebra formalisiert werden (boolesche Algebra) Anwendung auch in Computerprogrammieren die Operatoren dienen zur Beschreibung der boolschen Funktion digitaler Schaltungen (hohe bzw. niedrige Spannung) Computergrundlagen 3/20

Die zweielementige boolesche Algebra Wir betrachten eine Menge mit zwei Elementen 1 ( wahr ) und 0 ( falsch ) mit zwei Verknüpfungen ( oder ) und ( und ) mit einer einstelligen Verknüpfung ( nicht, Negation) Ferner gilt für beliebige a, b, c {0, 1}: 1. a (b c) = (a b) c, a (b c) = (a b) c 2. a (b c) = (a b) (a c), a (b c) = (a b) (a c) (Assoziativität) (Distributivität) 3. a b = b a, a b = b a (Kommutativität) 4. a (a b) = a, a (a b) = a (Adsorption) 5. a a = 1, a a = 0 (Komplemente) Computergrundlagen 4/20

Abgeleitete Gesetze Neutralität: a 0 = a, a 1 = a Idempotenz: a a = a, a a = a Extremalgesetze: a 1 = 1, a 0 = 0 Doppelnegation: ( a) = a Dualität: 0 = 1, 1 = 0 De Morgansche Gesetze: (a b) = a b, (a b) = a b Die zweielementige boolesche Algebra entspricht genau unserem Verständnis von Logik. Computergrundlagen 5/20

Was sind Zahlensysteme? Ein Zahlensystem wird zur Darstellung von Zahlen verwendet. Jede ganze Zahl B 2 kann als Basis(B) verwendet werden. Die Stelle bestimmt den Wert der Ziffer (die niederwertigste Position steht dabei im Allgemeinen rechts, z.b. die erste 3 in 373 hat einen anderen Wert als die zweite 3 dreihundert nicht drei). Der Ziffernvorrat ist 0 bis B-1. Die Zifferposition bestimmt den Stellenwert B n, entspricht eine Potenz der Basis. Zwei benachbarte Stellenwerte unterscheiden sich um den Faktor B. Die gängigsten Basen sind 2 (Dualsystem), 8 (Oktalsystem), 10 (Alltags Rechnen) oder 16 (das in der Informatik wichtige Hexadezimalsystem). Computergrundlagen 6/20

Was sind Zahlensysteme? Das System zur B=2 enthält nur 0 und 1.und wird für Computerrechnen und Datenspeichern verwendet. Die kleinste Informationseinheit (Bit) ist die Information über die Möglichkeiten 1 oder 0. In der Computertechnik wird oft das Hexadezimalsystem (Basis B=16) verwendet (0-9,A-F) Die Standardeinheit der Informationsgröße ist ein Byte (=8 Bit): die Information über eine aus 256 Möglichkeiten (die je zwei Zustände der acht Bits ermöglichen insgesamt 2 8 =256 Möglichkeiten). In dezimaler Darstellung: 0, 1, 2,... bis 255, im Binärsystem: 00000000, 00000001, 00000010,... bis 11111111.) Mit dem 16er-System (immer genau 2 Ziffern entsprechen einem Byte) viel besser handhaben als mit dem Dezimalsystem. Computergrundlagen 6/20

Zahlensysteme: Eigenschaften Wie kann ich mit nur zwei Elementen Zahlen darstellen? Sei B > 0 eine natürliche Zahl. Dann kann jede natürliche Zahl z eindeutig dargestellt werden als z = B n z k, wobei für alle k 0 z k < B und nur endliche viele z k 0. Beispiel i=0 B = 10 entspricht unserem Dezimalsystem: 1042 = 10 0 2 + 10 1 4 + 10 3 1 = 1042 16 B = 8 ergibt das Oktalsystem: 1042 = 8 0 2 + 8 1 2 + 8 3 2 = 2022 8 Computergrundlagen 7/20

Binärsystem Wie kann ich mit nur zwei Elementen Zahlen darstellen? Beispiele Wir benutzen das Binärsystem mit B = 2 und Ziffern 0 und 1 (Bits) 1042 = 2 10 + 2 4 + 2 1 = 10.000.010.010 2 Umrechnung von Binär- auf Dezimalzahlen ist umständlich Binär oktal ist einfach: 10.000.010.010 2 = 2022 8 Hexadezimal (B = 16, Ziffern 1 9, A F) auch: 10.000.010.010 2 = 412 16 1010.1111.1111.1110 2 = AFFE 16 Computergrundlagen 8/20

Umwandeln von Binär in Hexadezimalzahlen und umgekehrt Jeweils 4 Binärstellen entsprechen einer Hexadezimalstelle (16 = 2 4 ). Umwandlung: Vom Binär- ins Hexadezimalsystem: Unterteile die Binärzahl (rechts nach links) in 4er-Päckchen; wandle jedes Päckchen nach nebenstehender Tabelle in die entsprechende Hexadezimalziffer um. Vom Hexadezimal- ins Binärsystem: Wandle die Hexadezimalziffern der Reihe nach in die entsprechenden vierstelligen Binärzahlen um. Quelle:mathe-lexikon.at Computergrundlagen 9/20

Umwandeln von Binär in Oktalzahlen Jeweils 3 Binärstellen entsprechen einer Oktalstelle (8 = 2 3 ). Die Ziffern in Dreierblöcke gruppieren (von rechts nach links), die entsprechenden oktalen Ziffern aus der Tabelle ablesen, falls Stellen über bleiben, die keine vollständige Dreier-Gruppe ergeben, kann man sich statt dessen unsichtbare Nullen vorstellen (z.b. 10 ist mit 010 gleichbedeutend und umgekehrt die Dreiergruppe 001 ist gleichbedeutend mit 1). Quelle:mathe-lexikon.at Computergrundlagen 10/20

Darstellung reeller Zahlen ±1, 23456789 10 ±123 Eine Fließkommazahl besteht aus: Vorzeichen Mantisse (10er-)Exponent Stellen daher nur einen Teil der rationalen Zahlen exakt dar Alle anderen Zahlen werden angenähert Die Mantissenlänge bestimmt die Genauigkeit der Näherung Binär entsprechend: ±1, 0011110000001100101 2 ±1111011 Computergrundlagen 11/20

IEEE-Fließkommazahlen Speicherung einer 64-Bit-Fließkommazahl nach IEEE 754-Standard: Bit 6362... 5251... 0 ± Exponent e Mantisse m Keine Komplementdarstellung von Mantisse oder Exponent Binärsystem: (normalisierte) Mantisse wird ohne führende Stelle gespeichert, die immer 1 ist Der 11-bittige Exponent e ist um (Bias=)1023 (127 in 32-Bit-Fließkommazahlen) verschoben gespeichert und nimmt Werte von -1022 (e = 1) bis 1023 (e = 2046) an Der Wert einer Zahl ist also: ±1, m 2 e 1023 Computergrundlagen 12/20

Spezielle Werte Was ist mit den Exponenten 1023 (e = 0) und 1024 (e = 2047)? Diese stellen spezielle Werte dar: e = 0 und m = 0 ±0 e = 0 und m 0 Zahlen der Form ±0, m 2 1022 e = 2047 und m = 0 ± e = 2047 und m 0 ±NaN (not a number) Da die erste Stelle immer 1 ist, kann 0 nur so dargestellt werden ± ergibt sich z.b. bei Berechnung von ±1/0 ±NaN ergibt sich z.b. bei Berechnung von 1 Python fängt NaNs mit Fehlern ab, nicht aber z.b. C Computergrundlagen 13/20

32-Bit gegen 64-Bit Fließkommazahlen 32-Bit: einfach-genaues Format (single precision) [Länge des Exponenten=8 Bit, Länge der Mantisse=23 Bit, Bias des Exponenten=127] Genauigkeit der Darstellung von ca. 7 Dezimalstellen z.b. bei einer Zahl wie 12.345,678 ist die dritte Stelle nach dem Komma schon ungenau in numerischen Berechnungen mit mehreren Rechenoperationen sinkt die Genauigkeit sehr stark einfach genaues Format nicht ausreichent 64-Bit: doppelt genaues Format (double precision) [Länge des Exponenten=11 Bit, Länge der Mantisse=52 Bit, Bias des Exponenten=1023] Genauigkeit der Darstellung von ca. 16 Dezimalstellen. Speicherplatz und Rechenleistung sind so reichlich vorhanden, dass man nur noch das doppelt genaue Format verwendet kann. Computergrundlagen 14/20

Subtraktion/Addition von Fließkommazahlen Beispiele: 1, 0 10 0 + 1, 0 10 5 = 1, 0 10 0 + 0, 00001 10 0 = 1, 00001 10 0 1, 000002 10 0 1, 000001 10 0 = 0, 000001 10 0 = 1, 0 10 6 Verschieben der Mantisse der kleineren Zahl, bis beide denselben Exponenten haben Dabei gehen Stellen der kleineren Zahl verloren Dann gewöhnliche Addition/Subtraktion der Mantissen Schließlich den Exponenten verringern, bis die Mantisse keine führenden Nullen hat Computergrundlagen 15/20

Unterlauf/Überlauf In der Fließkommadarstellung gibt es eine kleinste(größte) positive Zahl, unter(über) diese Zahl kann kein Wert dargestellt werden in diesem Bereich wird die Zahl als 0( ) repräsentiert im Falle eines Zwischenergebnisses ist die Information üeber das Ergebnis verloren Zahlen verschiedener Größenordnung Die Addition/Subtraktion einer betragsmäßig viel kleineren Zahl ändert die größere Zahl nicht in einer vierstelligen Dezimalarithmetik: 1e3 + 1e-2 =1, 000 10 3 + 1, 000 10 2 =1, 000 10 3 + 0, 000 010... 10 2 =1, 000 10 3 + 0, 000 10 3 = 1e3 Computergrundlagen 16/20

Auslöschung:falsches Ergebnis bei der Subtraktion fast gleich großer Zahlen Ist x < 2 lm, wobei l m die Bitlänge der Mantisse ist, so ist in Fliesskommaarithmetik x x + 1 1 (x + 1) 1 1 1 0 Auslöschung der vorderen Stellen bei Subtraktion ungefähr gleich großer Zahlen führt zu fehlenden hinteren Stellen im Ergebnis Im Beispiel verschwindet die kleinere Zahl x komplett Ist x 2 lm, verliert x fast alle signifikanten Stellen Formeln muss man umformen so dass keine Auslöschung passieren kann. Computergrundlagen 17/20

Beispiel: quadratische Gleichung Lösen der quadratischen Gleichung x 2 + ax + b = 0: x ± = a 2 ± (a 2) 2 b ( Bei kleinem b ist a ) 2 2 b a 2 a > 0: Auslöschung bei der größeren Nullstelle x + a < 0: Auslöschung bei der kleineren Nullstelle x Ausweg: Es gilt ( x + x = a 2 + (a 2 ) 2 b ) ( a 2 (a 2 ) 2 b ) = b Berechne also nur die stabile Summe (x bei a > 0, sonst x + ), und die zweite Nullstelle durch x + = b/x bzw. x = b/x + Computergrundlagen 18/20

Multiplikation von Fließkommazahlen Beispiel: 1, 01 10 0 1, 01 10 5 = 1, 0101 10 0+5 = 1, 0101 10 5 Multiplikation und Division sind unkritisch, es kann zu keiner Auslöschung kommmen Allerdings zu Über- oder Unterläufen des Exponenten In diesem Fall ist das Ergebnis bzw. 0 Meist kann man dies aber durch geeignete Umformungen auch vermeiden, z.b. durch logarithmisches Rechnen Computergrundlagen 19/20

Fehlerquellen bei numerischen Rechnungen Numerische Fehler Auslöschung Über- und Unterläufe Rundungsfehler durch endliche Mantissenlänge Algorithmische (Verfahrens-) Fehler Abschneidefehler: Unendliche Summen müssen durch endliche Summen ersetzt werden Diskretisierungsfehler: Funktionsauswertung immer nur an endlich vielen Punkten Modellierungsfehler Das der Rechnung zugrundeliegende Modell erfasst wesentliche Details des Experiments nicht Datenfehler Genauigkeit der Anfangswerte (z.b. aus einem Experiment) Computergrundlagen 20/20