Datenformate DVG1 - 05 - Datenformate.

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

der Universität Oldenburg
Imperative Programmierung
3. Operatoren und Ausdrücke
Forschungszentrum caesar
Variablen und Datentypen
Zusammenfassung der Vorwoche
10. Grundlagen imperativer Programmiersprachen
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
der Universität Oldenburg
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Sprache
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
Objekte und Arbeitsspeicher
Java- Syntax.
Basisinformationstechnologie WS 2003/04 T.Schaßan
Robotik mit LEGO Mindstorms
Imperative Programmierung
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
Das erste Programm (Folie 16)
Datenformate DVG Datenformate.
DVG Felder1 Felder. DVG Felder 2 Was sind Felder? Felder sind Reihungen aus endlich vielen Elementen gleichen Typs. Z.B.: Vektoren : (x.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
DVG Klassen und Objekte
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Einführung in die Programmierung Anweisungen und Datentypen
boolean Datentyp und Operator
Zahlensysteme und Dualarithmetik copyleft: munz
Grundkonzepte Java - Klassendefinition
Einführung in die Programmiersprache C 1
Informatik 1 Übung 2.
Programmieren Kapitel 3 – Variablen.
C# Einheitliches Typsystem
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Vorlesung 1.
Grundlegende Funktionsweise eines Computers
Grundlagen der Informatik
Variablen in Programmiersprachen
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Datentypen: integer, char, string, boolean
Datentypen Überblick Datentypen Einfache / fundamentale Datentypen
3. Lineare Befehle 3.1 Die Ausgabefunktion
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
PHP: Operatoren und Kontrollstrukturen
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Grundlagen C 2
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Anführungszeichen?! echo 'Apfel$atf'; // ergibt: Apfel$aft
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Variablen und Datentypen
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Inhalte der Übungen 1.Grundlagen, Ein- und Ausgabe 2.Kontrollstrukturen (Projekt 1) 3.Funktionen 4.Zeiger, Felder (Projekt 2) 5.Strings, Strukturen 6.Fileverarbeitung.
Datentypen: integer, char, string, boolean
Aufgaben zu Rückgabewerten
Datentypen: integer, char, string, boolean
Variable: typ varName = Wert Kiste: Art Aufschrift  Inhalt
Datentyp- umwandlung.
 Präsentation transkript:

Datenformate DVG1 - 05 - Datenformate

Speicherhierarchie Prozessor, Register, CPU sehr schnell, sehr teuer, sehr klein 1 ns, 1 $/Byte, 1kByte Hauptspeicher, RAM schnell, mäßig teuer, mäßig groß 60 ns, 10-3 $/Byte, 1 GByte Externe Speicher, Platten, Bänder langsam, billig, riesig 10 ms...1 min, 10-9 $/Byte, 100 GByte...1 PByte DVG1 - 05 - Datenformate

Kleinste Speichereinheit: 1bit ja - nein wahr - falsch 0 - 1 Strom fließt - Strom fließt nicht Ladung gespeichert - Ladung nicht gespeichert größere Mengen: 1 kbit = 210 bit = 1024 bit ~ 103 bit 1 Mbit = 220 bit = 1024 kbit = 1048576 bit ~ 106 bit 1 Gbit = 230 bit = 1024 Mbit = 1073741824 bit ~ 109 bit 1 Tbit = 240 bit = 1024 Gbit = 1099511627776 bit ~ 1012 bit 1 Pbit = 250 bit = 1024 Tbit = 1125899906842624 bit ~ 1015 bit ....... DVG1 - 05 - Datenformate

drei bit werden zu einer Oktalziffer zusammengefaßt 000...111 0...7 Zahlen, die mit einer „0“ beginnen werden als Oktalzahlen interpretiert. vier bit werden zu einer Hexadezimalziffer zusammengefasst 0000 ... 1111 0 ... F Zahlen, die mit „0x“ beginnen werden als Hexadezimalzahlen interpretiert. 8 bit = 1 Byte 00000000 ... 11111111 0 ... 255 Analog bit gibt es kByte, MByte, GByte, TByte, PByte ... Byte: 0x00 ... 0xFF DVG1 - 05 - Datenformate

Primitive Datentypen Allgemeine Form: typ name = wert; z.B.: int i = 12; Variable name mit dem Typ typ wird direkt im Speicher angelegt und mit dem Wert wert initialisiert. Wird typ name; benutzt, werden die Standardwerte zur Initialisierung benutzt. Standardwert ist immer „alle bit 0“. Zu jedem primitiven Datentyp gibt es einen „Wrapper Typ“ (Umschlag Typ). Mit dieser kann man Objekte von dem Typ mit new erzeugen. DVG1 - 05 - Datenformate

boolean Logischer Wahrheitswert Ergebnis logischer Ausdrücke mögliche Werte: false, true Standardwert: false Wrapper Typ: Boolean boolean schalter = true; schalter = false; if (schalter) { .... } else { .... } schalter = !schalter; schalter = (n > 5) & (i < 3); DVG1 - 05 - Datenformate

char Ein Zeichen des Unicodes mögliche Werte: 0x0000 ... 0xFFFF. Konstanten, der Form '\uxxxx' werden als Unicode-Zeichen in Hexadezimaldarstellung interpretiert. z.B.: '0' = 48 = '\u0030' = 0x0030 'A' = 65 = '\u0041' = 0x0041 'a' = 97 = '\u0061' = 0x0061 enthält die Zeichen vieler Sprachen, z.B. griechisch, kyrillisch, arabisch, chinesisch (?) .... Programmtexte können alle Unicode-Zeichen benutzen. Es kann z.B. eine Variable µ definiert werden. Standardwert: '\u0000' Wrapper Typ: Char char und boolean sind die einzigen vorzeichenfreien Datentypen. DVG1 - 05 - Datenformate

byte, short, int, long Verschieden lange ganze Zahlen Länge: byte 8 bit; short 16 bit; int 32 bit; long 64 bit mögliche Werte: alle ganzen Zahlen zwischen -2l-1 und 2l-1-1, l = Länge des Typs (8, 16, 32, 64) interne Darstellung: im „zweier-Komplement“, d.h. 0x00 ... 0x7F entspricht den positiven Zahlen 0x80 ... 0xFF entspricht den negativen Zahlen, wert = wert - 256 0x00 ... 0x7F 0x80 0x81 ... 0xFF 0 ... 127 128 129 ... 255 0 ... 127 -128 -127 ... -1 long-Konstanten enden mit „L“, z.B. 321L Alle anderen ganzzahligen Konstanten sind immer int. Standardwert: 0 Wrapper Typen: Byte, Short, Integer, Long DVG1 - 05 - Datenformate

float, double Gleitkommazahlen, werden im IEEE 754 Format gespeichert Länge: float 32 bit; double 64 bit 1.4 10-45 < |float| < 3.4 10+38 4.9 10-324 < |double| < 1.7 10+308 zusätzlich +0, -0, +unendlich, -unendlich, keineZahl (NaN) alle Operationen sind zulässig und liefern definierte Resultate z.B: 1/+0 = +unendlich 1/-0 = -unendlich +0/+0 = NaN float-Konstanten enden mit „f“, z.B. -1.234e23f double-Konstanten enden mit „d“, z.B. 1.234567e-243d Standardwert: 0.0f , 0.0d Wrapper Typ: Float, Double DVG1 - 05 - Datenformate

void void ist der Rückgabewert von Funktionen, die keinen Wert zurückgeben. Wrapper Typ: Void DVG1 - 05 - Datenformate

Zusammenfassung DVG1 - 05 - Datenformate

Gemeinsame Eigenschaften der primitiven Datentypen: belegen einen feste Speichermenge, 1bit (boolean) 1 Byte (byte) 2 Byte (char, short) 4 Byte (int, float) 8 Byte (long, double) Variable von primitiven Typen werden direkt im Speicher angelegt z.B. bewirkt die Anweisung double x = 1.0d; die Reservierung von 8Byte Speicher und die Initialisierung mit dem Wert 1.0d DVG1 - 05 - Datenformate

Bezeichner bestehen aus Buchstaben (a-z, A-Z, Unicode) Ziffern (0-9) Sonderzeichen (´_´ und ´$´) beginnen nie mit einer Ziffer z.B.: zulässig sind abcd123 xy$05 märz_23 nicht zulässig sind 123xy märz-23 DVG1 - 05 - Datenformate

Gültigkeit von Bezeichnern Variable bekommen in der Anweisung Speicherplatz zugewiesen, in der sie vereinbart werden. Der Platz den Variable belegen wird am Ende des Blockes freigegeben, in dem sie vereinbart wurden. Z.B.: float f (float x) { int i=3; i=i+1; float x0 = 0; x=x+x0; return Math.abs(x); } i ist in dem ganzen Block bekannt, x0 nur in der zweiten Hälfte DVG1 - 05 - Datenformate

System.out.println(i+"*pi="+y); i=i+1; } float f (float x) { int i=0; while (i<10) float y=i*3.14159f; System.out.println(i+"*pi="+y); i=i+1; } i ist im ganzen Block bekannt y ist nur in dem inneren Block bekannt DVG1 - 05 - Datenformate

Literale Festkommaliteral enthält nur Ziffern und < 231 ==> int z.B. 12345 enthält nur Ziffern und >=231 oder endet mit l oder L ==> long z.B. 12345L beginnt mit 0x oder 0X ==> hexadezimale Darstellung beginnt mit 0 ==> oktale Darstellung Gleitkommaliteral enthält Ziffern, einen ´.´ oder ein ´e´ oder ´E´, endet nicht mit ´f´ oder ´F´ ==> double z.B.: 3.14159, 3.3333e-1, 2345E22 wenn ein ´f´ oder ´F´ angehängt wird ==> float z.B.: 3.14159f, 3.3333e-1F, 2345E22f logisches Literal true und false DVG1 - 05 - Datenformate

Alphanumerische Literale ein Zeichen in Hochkomma eingeschlossen Unicodezeichen mit \ddd (octal), führende Nullen können entfallen \udddd (hexadezimal) z.B: ´A´ = ´\101´ = ´\u0041´ ; ´ ´ = ´\40´ = ´\u0020´ besondere Zeichen DVG1 - 05 - Datenformate

Zeichenkettenliteral Beliebige Folge von Zeichen, die in Anführungszeichen eingeschlossen sind. Z.B.: "Hello, World!" "\u0048\u0065\u006C\u006c\u006f\u002c\u0020\u0057\u006f\u0072\u006C\u0064\u0021" "\110\145\154\154\157\54\40\127\157\162\154\144\41" DVG1 - 05 - Datenformate

Typumwandlungen Implizit immer in „größere“ Typen, d.h byte ==> int char ==> int short ==> int int ==> long float ==> double byte, char, short, int, long ==> float, double byte und short werden vor der Verarbeitung immer nach int konvertiert Explizite Umwandlung durch „casting“ : (typ)ausdruck z.B.: short s; byte b = (byte)s; Umwandlung kann mit Informationsverlusten verbunden sein! DVG1 - 05 - Datenformate

Operationen mit Festkommazahlen Unäre Operatoren Negation „-“ Bit-Komplement „~“ bitweises ersetzen der 0 durch 1 und umgekehrt Inkrement „++“ j = ++i <==> i=i+1; j=i; (Präinkrement) j = i++ <==> j=i; i=i+1; (Postinkrement) Dekrement „--“ j = --i <==> i=i-1; j=i; (Prädekrement) j = i-- <==> j=i; i=i-1; (Postdekrement) DVG1 - 05 - Datenformate

int i; DVG1 - 05 - Datenformate

Binäre Operatoren Addition „+“ Subtraktion „-“ Multiplikation „*“ Division „/“ mit Rundung zur Null Modulo „%“ a%b = a - (a/b)*b bitweise Verschiebung nach links „<<“ a << b, die Binärdarstellung von a wird um (b%L) Stellen nach links verschoben, rechts wird mit „0“ aufgefüllt. L ist die Länge von a (byte 8, char und short 16, int 32, long 64) bitweise Verschiebung nach rechts unter Berücksichtigung des Vorzeichens „>>“ a >> b, die Binärdarstellung von a wird um (b%L) Stellen nach rechts verschoben, dabei wird von links mit dem ersten bit aufgefüllt DVG1 - 05 - Datenformate

Vergleichoperatoren „>“, „<“, „>=“, „<=“, „==“, „!=“ bitweise Verschiebung nach rechts ohne Berücksichtigung des Vorzeichens „>>>“ a >>> b, die Binärdarstellung von a wird um (b%L) Stellen nach rechts verschoben, dabei wird von links mit „0“ aufgefüllt logische Operatoren bitweises logisches „und“ : „&“ bitweises logisches „oder“ : „|“ bitweises logisches „exklusives oder“ : „^“ Vergleichoperatoren „>“, „<“, „>=“, „<=“, „==“, „!=“ ergeben immer boolsche Werte DVG1 - 05 - Datenformate

DVG1 - 05 - Datenformate

Zuweisungsoperatoren Ternärer Operator „?:“ boolausdr ? ausdruck1 : ausdruck2 ; boolausdr == true ==> ausdruck1 boolausdr == false ==> ausdruck2 Zuweisungsoperatoren Zuweisung „=“ kombinierte Zuweisung „op=“ , wobei op ein beliebiger binärer Operator ist. i op= j ist äquivalent zu i = i op j. z.B.: i += 1 <==> i = i+1 <==> i++ i <<= 4 <==> i = i << 4 Zuweisungsoperatoren besitzen den Wert, der zugewiesen wird. Daher können sie in Ausdrücken wiederverwendet werden. Z.B.: i = 1 + (j=3*5) *7; ==> j=15; i=106; i = (j = 999); ==> j=999; i=999; DVG1 - 05 - Datenformate

Operationen mit Gleitkommazahlen Folgende Operatoren arbeiten bei Gleitkommazahlen analog zu Festkommazahlen: Unäre Operatoren : „-“, „++“, „--“ Binäre Operatoren : „+“, „-“, „*“, „/“, „%“, „>“, „<“, „>=“, „<=“, „==“, „!=“ ternärer Operator : „?:“ Zuweisungsoperatoren : „=“, „op=“ DVG1 - 05 - Datenformate

Operationen mit Zeichenketten Verkettung „+“ string1 + string2 ergibt die Zeichenkette, die aus Aneinanderhängen der Zeichenketten string1 und string2 entsteht. Z.B.: “Hallo, “ + “World!“ ergibt “Hallo, World!“ DVG1 - 05 - Datenformate

Operationen mit boolschen Werten Negation "!" Operatoren mit unverkürzter Auswertung und „&“, oder „|“, exklusives oder „^“ Die Ausdrücke werden ausgewertet auch wenn das Ergebnis schon sicher ist. Z.B b=(i > j) | f(j) ; Wenn i>j ist, müsste f(j) nicht aufgerufen werden um b zu bestimmen. Wird aber doch aufgerufen. Operatoren mit verkürzter Auswertung und „&&“, oder „||“ Die Ausdrücke werden nur soweit ausgewertet, bis das Ergebnis des Ausdruckes bekannt ist. DVG1 - 05 - Datenformate

Reihenfolge von Operatoren Die Operationen werden der Priorität nach abgearbeitet. Bei gleicher Priorität werden die Operatoren von links nach rechts abgearbeitet. Zuweisungsoperatoren werden von rechts nach links abgearbeitet. DVG1 - 05 - Datenformate