Algorithmen und Datenstrukturen

Werbung
Algorithmen und
Datenstrukturen
2.1 Einfache Datentypen in C
W. Tasin, M.Sc.
Fakultät 04
[email protected]
Einfache Datentypen in C
Allgemeines (1)
Einfache (od. primitive) Datentypen legen fest,
wie die Information kodiert im Speicher abgelegt
wird.
wie der Inhalt einer oder aufeinanderfolgender
Speicherstellen interpretiert werden soll.
wie viele aufeinanderfolgende Speicherstellen
zur Ablage der Information nötig sind
definierter Wertebereich.
welche Operationen mit der Information durchgeführt
werden können.
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
2
Einfache Datentypen in C
Allgemeines (2)
Die ANSI-C Norm
legt fest, dass Variablen, Ausdrücke oder
Konstanten einen Datentyp besitzen müssen.
legt nur die Mindestanforderung an einen
Datentypen fest.
daraus resultiert, dass z. B. int-Breite
bei 16bit-µControllern mit den dazugehörigen
C-Entwicklungswerkzeugen 16 bit
bei 32bit-µControllern mit den dazugehörigen
C-Entwicklungswerkzeugen 32 bit
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
3
Einfache Datentypen in C
Datentypen (1)
char
signed char
Informationsablage
Zeichen
Ganzzahlen
typische Datenbreite
8 bit
Wertebereich
-128 .. 127
Bemerkungen
- Zählvariable mit reduziertem Wertebereich
- char kann mithilfe eines Schalter beim
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
Übersetzen zu unsigned char werden.
4
Einfache Datentypen in C
Datentypen (2)
unsigned char
Informationsablage
Zeichen (selten)
Ganzzahlen
typische Datenbreite
8 bit
Wertebereich
0 .. 255
Bemerkungen
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
5
Einfache Datentypen in C
Datentypen (3)
short
signed short
signed short int
Informationsablage
Ganzzahlen
typische Datenbreite
16 bit
Wertebereich
-32768 .. 32767
Bemerkungen
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
6
Einfache Datentypen in C
Datentypen (4)
unsigned short
unsigned short int
Informationsablage
Ganzzahlen
typische Datenbreite
16 bit
Wertebereich
0 .. 65535
Bemerkungen
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
7
Einfache Datentypen in C
Datentypen (5)
int
signed int
Informationsablage
Ganzzahlen
Wahrheitswerte
typische Datenbreite
32 bit
Wertebereich
-2147483648 .. 2147483647
Bemerkungen
- typische Zählvariablen, deren Wertebereich
mit Architekturverbesserungen mitwächst
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
8
Einfache Datentypen in C
Datentypen (6)
unsigned
unsigned int
Informationsablage
Ganzzahlen
typische Datenbreite
32 bit
Wertebereich
0 .. 4294967295
Bemerkungen
- positive Zählvariablen
- Sichern von Größenangaben
(bei 32-bit Entwicklungstools)
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
9
Einfache Datentypen in C
Datentypen (7)
long
signed long
long int
signed long int
Informationsablage
Ganzzahlen
typische Datenbreite
32 bit
Wertebereich
-2147483648 .. 2147483647
Bemerkungen
Unter 64-bit Linux
64 bit breit
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
10
Einfache Datentypen in C
Datentypen (8)
unsigned long
unsigned long int
Informationsablage
Ganzzahlen
typische Datenbreite
32 bit
Wertebereich
0 .. 4294967295
Bemerkungen
Unter 64-bit Linux
64 bit breit
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
11
Einfache Datentypen in C
Datentypen (9)
long long
NUR in ANSI-C 99!
signed long long
long long int
signed long long int
Informationsablage
Ganzzahlen
typische Datenbreite
64 bit
Wertebereich
-9223372036854775808 ..
9223372036854775807
Bemerkungen
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
12
Einfache Datentypen in C
Datentypen (10)
NUR in ANSI-C 99!
unsigned long long
unsigned long long int
Informationsablage
Ganzzahlen
typische Datenbreite
64 bit
Wertebereich
0 .. 18446744073709551615
Bemerkungen
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
13
Einfache Datentypen in C
Datentypen (11)
float
Informationsablage
Fließkommazahlen
typische Datenbreite
32 bit
Wertebereich
±(1.2E-38 .. 3.4E38)
Genauigkeit
6 Stellen
Bemerkungen
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
14
Einfache Datentypen in C
Datentypen (12)
double
Informationsablage
Fließkommazahlen
typische Datenbreite
64 bit
Wertebereich
±(2.23E-308 .. 1.79E308)
Genauigkeit
15 Stellen
Bemerkungen
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
15
Einfache Datentypen in C
Datentypen (13)
long double
Informationsablage
Fließkommazahlen
typische Datenbreite
80 bit (auch 96 oder 128 bit)
Wertebereich
±(3.37E-4932 .. 1.18E4932)
Genauigkeit
19 Stellen
Bemerkungen
Bei 96/128 Datenbreite wird oft nur mit 80 bit
Genauigkeit gerechnet.
Unter Windows entspricht dieser Datentyp
dem Typ double.
Algorithmen und Datenstrukturen - W. Tasin, M.Sc.
16
Herunterladen