Algorithmen & Programmierung. Zahlensysteme Bits und Bytes

Ähnliche Dokumente
Zahlensysteme und Kodes. Prof. Metzler

Zahlen- und Buchstabencodierung. Zahlendarstellung

1. Stellenwerte im Dualsystem

Computer rechnen nur mit Nullen und Einsen

1. Grundlegende Konzepte der Informatik

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

Grundlagen der Informatik

Zahlensysteme Dezimal-System

, 5 8. Hunderter Zehner Zehntel. Einer

Bei der Darstellung von Daten mit Stromimpulsen gibt es nur 2 ZUSTÄNDE

Grundlagen der Informatik I. Übung

Einführung in die Informatik Inf, SAT

Dateien Struktur und Größe

Einführung in die Informatik Inf, SAT

Grundlagen der Informatik

(7) AB 20: Bits und Bytes

Grundlagen der Technischen Informatik. 3. Übung

Grundlagen der Technischen Informatik. 3. Übung

Digitaltechnik Grundlagen 2. Zahlensysteme

3 Kodierung von Informationen

Kapitel 2. Zahlensysteme, Darstellung von Informationen

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Allgemeine Informationen zum Praktikum

Einführung in die Programmierung

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Allgemeine Informationen zum Praktikum

Computergrundlagen Zahlensysteme

Grundlagen der Technischen Informatik. 3. Übung

Grundlagen der Informatik Übungen 1.Termin

Kodierung. Bytes. Zahlensysteme. Darstellung: Zahlen

Basisinformationstechnologie I

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

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

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

1. Grundlagen der Informatik Zahlensysteme und interne Zahlendarstellung

Grundlagen der Informationstechnik

Dualzahlen

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

KNX TP1 Telegramm. KNX Association

Informatik Vorkurs - Vorlesung 2

Zahlensysteme. Wie Computer Zahlen darstellen und mit ihnen rechnen Peter Ziesche

Grundlagen der Informatik I. Übung

Einführung in die PC-Grundlagen

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

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

Dies sagt schon mal was über das System aus: es basiert auf der Zahl 16.

Skript. EDV Grundlagen

VI Information und ihre. Texte

Deutsche Telekom - FH Leipzig. Vorbereitungslehrgang Informatik

Was sonst noch dazu gehört

, 2014W Übungstermin: Fr.,

Grundlagen der Informationstechnik

Zahlen in Binärdarstellung

, 2017S Übungstermin: Di.,

Binärzahlen. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

Lösung 1. Übungsblatt

Zahlendarstellungen und Rechnerarithmetik*

Grundlagen der Informationstechnik

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Basiswissen für junge Elektroniker. Womit rechnet ein Computer?

{0,1,...,b-1} Die Ziffern (Digits) werden der Eindeutigkeit wegen häufig mit Bezeichnungen belegt, aus denen die Basis b erkennbar wird:

Zahlensysteme: Oktal- und Hexadezimalsystem

Übung - Nutzung des Windows-Rechners zur Bestimmung von Netzwerkadressen

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

Technische Fachhochschule Berlin Fachbereich VIII

Zahlensysteme. Aufbauvorschrift für ein Zahlensystem. 盹 诲诲诲盿 盿 έ έ έ. Dezimales Zahlensystem (Basis = 10) Z(2) Z(1) Z(0)

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

Übung zur Vorlesung Digitale Medien. Hanna Schneider Ludwig-Maximilians-Universität München Wintersemester 2014/2015

Daten, Informationen, Kodierung. Binärkodierung

Zahlensysteme Das 10er-System

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

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

Abschlussklausur Informatik, SS 2012

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung.

DIGITALTECHNIK 02 ZAHLENSYSTEME

Grundlagen der Informatik Übungen 1. Termin Zahlensysteme

Chapter 1 Einführung. CCNA 1 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

Übungspaket 12 Der Datentyp char

, 2015S Übungstermin: Mi.,

Grundlagen der Rechnerarchitektur. Einführung

Kapitel 2. Zahlensysteme

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

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen

Skript Zahlensysteme

DuE-Tutorien 17 und 18

Übungspaket 12 Der Datentyp char

Einführung in die Informatik I

Angewandte Informatik

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung

Einführung in die Informatik

Vorlesung Programmieren

Kapitel 1: Schaltfunktionen und ihre Darstellung

Inhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. 2.5 Logische Funktionen

1. Stellenwerte im Dualsystem

Über Zahlensysteme und das Rechnen mit Hexadezimalzahlen

Kapitel 5: Daten und Operationen

Transkript:

Algorithmen & Programmierung Zahlensysteme Bits und Bytes

Zahlensysteme Positionssystem Bei sogenannten Positionssystemen bestimmt (im Gegensatz zu additiven Systemen wie dem römischen Zahlensystem) die Position (Stelle) den Wert einer Ziffer. Es gibt eine Basis b und jede Position einer Ziffer entspricht einer Potenz der Basis b. Berechnung Für die Berechnung einer ganzen Zahl z mit n Ziffern multipliziert man jeweils die einzelnen Werte der Ziffern zi an Position i mit dem zugehörigen Positionswert b i und addiert anschließend die Produkte für die Positionen 0 i < n: z = zn-1b n-1 +... + zib i +... + z0b 0 Bedingung b muss mindestens zwei sein und die Ziffern laufen von 0 bis b 1 Anzahl darstellbarer Zahlen Mit n Positionen lassen sich genau b n Zahlen unterscheiden 202

Dualsystem Zahlensystem für Computer Da elektronische Rechenmaschinen im Allgemeinen nur die zwei Zustände Strom fließt bzw. Strom fließt nicht unterscheiden können, arbeiten sie auf Basis einen Zahlensystems, das nur zwei Zustände kennt - das duale (binäre) Zahlensystem. Eine n-stellige Zahl lässt sich im Dualsystem wie folgt darstellen: Konsequenz Bit z = zn-12 n-1 +... + zi2 i +... + z02 0 Mit n Stellen lassen sich 2 n unterschiedliche Zahlen ausdrücken. Eine Position (Stelle) einer Binärzahl wird als Bit bezeichnet. Ein Bit ist die kleinste Informationseinheit. Es gibt nur die Zustände an (1) oder aus (0) bzw. gesetzt (1) oder nicht gesetzt (0). 203

Dualsystem - Umwandlung Aufgabe Schreiben Sie ein C-Programm, das unter Verwendung der in der Vorlesung vorgestellten Funktion readint() eine Menge von Ziffern einer Dualzahl von der Tastatur einliest und ihren Dezimalwert auf dem Bildschirm ausgibt. Hinweise Die Ziffern der Dualzahl sind einzeln einzugeben (durch Leerzeichen voneinander separiert). Das Ende der Dualzahl ist durch Eingabe einer Ziffer größer 1 zu markieren Beispiel Geben Sie die Ziffern einer Dualzahl einzeln ein (Endmarkierung durch Ziffer>1)! 1 0 1 0 1 1 0 0 1 9 Die Dualzahl 101011001 besitzt den Dezimalwert 345. 204

Dualsystem - Umwandlung Problemanalyse Wir kennen im Vorhinein nicht die Stellenanzahl der Dualzahl und somit den Wert der einzugebenden Ziffern (zum Speichern der Bits fehlen uns momentan noch die Kenntnisse) Konsequenz Die Dualzahl muss schrittweise verarbeitet werden Frage Wie verändert sich der (Dezimal-)Wert einer Dualzahl, wenn ein weiteres Bit angehängt wird? Geben Sie die Ziffern einer Dualzahl einzeln ein (Endmarkierung durch Ziffer>1)! 1 0 1 0 1 1 0 0 1 9 Die Dualzahl 101011001 besitzt den Dezimalwert 345. 205

Byte Byte Ein Byte ist eine Binärzahl die aus genau acht Bits besteht. Konsequenz Es können 2 8 = 256 unterschiedliche Zahlenwerte ausgedrückt werden. Verwendung In Bytes wird die Speicherkapazität des Hauptspeichers (Primärspeicher) oder der Festplatte (Sekundärspeicher) angegeben. Vor allem aber basiert der interne Aufbau und die Verwaltung (z.b. von Datentypen) auf Bytes. Da C eine hardwarenahe Sprache ist, ist die Beschäftigung mit einigen Interna (z.b. des Speicherbedarfs und Speicherorts von Variablen) notwendig. 206

Kilobytes, Megabytes, Gigabytes... Turmbau zu Babel Leider gibt es bei der Benennung höherer Kapazitäten Mehrdeutigkeiten, so basieren die nächstgrößeren Einheiten entweder auf der Basis 1024 (Binär) oder 1000 (Dezimal). Obwohl es standardisierte unterschiedliche Bezeichnungen gibt, werden diese selten verwendet. So entspricht ein Kilobyte entweder 1024 1 Bytes oder 1000 1 Bytes ein Megabyte entweder 1024 2 Bytes oder 1000 2 Bytes ein Gigabyte entweder 1024 3 Bytes oder 1000 3 Bytes ein Terabyte entweder 1024 4 Bytes oder 1000 4 Bytes,... Hauptspeicherkapazitäten werden i.d.r. mit Hilfe der Basis 1024 angegeben. Festplattenkapazitäten werden i.d.r. mit Hilfe der Basis 1000 spezifiziert. 207

Hexadezimalsystem (Hex) Positionssystem mit Basis b = 16 Eine n-stellige Zahl lässt sich im Hexadezimalsystem mit Basis b=16 wie folgt darstellen: z = zn-116 n-1 +...+zi16 i +...+z016 0 Konsequenz Mit n Stellen lassen sich 16 n unterschiedliche Zahlen ausdrücken. Ziffern Das Hexadezimalsystem unterscheidet 16 Ziffern. Um keine Konfusion aufkommen zu lassen, werden die 10. bis zur 15. Ziffer mit Hilfe der Buchstaben A (10) bis F (15) dargestellt. 208

Hexadezimalsystem (Hex) Bedeutung des Hexadezimalsystems Das Hexadezimalsystem spielt eine große Rolle in der Informatik, denn ein Byte lässt sich mit genau zwei Hexadezimalziffern darstellen. Jede Ziffer des Hexadezimalsystems repräsentiert folglich ein Halbbyte (Tetrade = 4 Bit). Ausgabe von Hexadezimalzahlen in C Die Ausgabefunktion printf() besitzt eine Konvertierungsoption %X (erzeugt Großbuchstaben) bzw. %x (erzeugt Kleinbuchstaben), um Werte hexadezimal ausgeben zu können. Beispiel printf( %X%x%x%x, 10, 15, 15, 14) 209

Umrechnung einer Dezimalzahl Wunsch Umwandlung einer Dezimalzahl d10 in ein anderes Positionssystem der Basis b. Voraussetzung d10 = zn-1b n-1 +... + zib i +... + z0b 0 Umformung d10 = b (... ( b ( b ( b zn-1 + zn-2 ) + zn-3) +... ) + z1) + z0 Bestimmung der Koeffizienten Mit Hilfe einer wiederholten Division durch b lassen sich die Koeffizienten z0 bis zn-1 der Darstellung zur Basis b bestimmen. 210

Dual Hexadezimal Wunsch Manchmal benötigt man die Umwandlung von Dualzahlen in Hexadezimalzahlen und umgekehrt. Umwandlung via Dezimalsystem Mit unserem bisherigen Wissen können wir beide Umwandlungen durchführen, allerdings nur über den Umweg einer vorherigen Konvertierung ins Dezimalsystem. Allerdings ist dieser Zwischenschritt nicht notwendig. Umwandlung von Dual- in Hexadezimaldarstellung Jedes Halbbyte wird einzeln in seine korrespondierende Hexadezimalziffer umgewandelt. Umwandlung von Hexadezimal- in Dualdarstellung Jede Hexadezimalziffer wird in ein Halbbyte umgewandelt 211

Dual Hexadezimal Hex Halbbyte Dezimal 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 A 1010 10 B 1011 11 C 1100 12 D 1101 13 E 1110 14 F 1111 15 Praktisch Als praktisch erweist es sich, die Umwandlung von Hexdezimal- in Dualdarstellung und vice versa ziffernbzw. tetradenweise mit Hilfe der nebenstehenden Tabelle zu vollziehen. Dual Hex Die Halbbytes sollten immer aus Richtung der niederwertigsten Bits (rechts) in Richtung der höherwertigsten Bits (links) aufgebaut werden, da die Dualdarstellung nicht notwendigerweise aus einer durch vier teilbaren Stellenanzahl bestehen muss. 212

Ende der Vorlesung