Datentypen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 281: | Zeile 281: | ||
== Aufgaben == | == Aufgaben == | ||
[[Aufgaben|<span class="mw-ui-button mw-ui-progressive">⬅️ Aufgaben</span>]] | |||
Aktuelle Version vom 28. Mai 2026, 10:28 Uhr
C# Datentypen und Wertebereiche
Warum braucht man Datentypen?
Damit ein Programm Daten verarbeiten kann, benötigt es Variablen.
Eine Variable ist ein benannter Speicherplatz im Arbeitsspeicher. In dieser Variable wird ein Wert gespeichert, der während der Programmlaufzeit verwendet oder verändert werden kann.
Jede Variable besitzt einen Datentyp. Der Datentyp legt fest:
- welche Art von Wert gespeichert werden darf
- wie viel Speicher benötigt wird
- wie die gespeicherten Nullen und Einsen interpretiert werden
- welche Operationen mit dem Wert möglich sind
Merke
Grundprinzip
Computer speichern Daten intern als Bitfolgen, also als Reihen aus Nullen und Einsen.
Ein und dieselbe Bitfolge kann je nach Datentyp unterschiedlich interpretiert werden:
- als Ganzzahl
- als Kommazahl
- als Zeichen
- als Text
- als Wahrheitswert
Info
Ganze Zahlen
Ganze Zahlen sind Zahlen ohne Nachkommastellen.
| Datentyp | Wertebereich | Variablengröße |
|---|---|---|
int
|
-2.147.483.648 bis 2.147.483.647 | Ganze 32-Bit-Zahl mit Vorzeichen |
long
|
-9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 | Ganze 64-Bit-Zahl mit Vorzeichen |
byte
|
0 bis 255 | Ganze 8-Bit-Zahl ohne Vorzeichen |
sbyte
|
-128 bis 127 | Ganze 8-Bit-Zahl mit Vorzeichen |
char
|
U+0000 bis U+FFFF | 16-Bit-Unicode-Zeichen |
short
|
-32.768 bis 32.767 | Ganze 16-Bit-Zahl mit Vorzeichen |
ushort
|
0 bis 65.535 | Ganze 16-Bit-Zahl ohne Vorzeichen |
uint
|
0 bis 4.294.967.295 | Vorzeichenlose 32-Bit-Ganzzahl |
ulong
|
0 bis 18.446.744.073.709.551.615 | Vorzeichenlose 64-Bit-Ganzzahl |
Merke
Gleitkommazahlen
Gleitkommazahlen speichern Zahlen mit Nachkommastellen.
| Datentyp | Wertebereich | Genauigkeit / Größe |
|---|---|---|
float
|
ungefähr ±1,5 × 10-45 bis ±3,4 × 1038 | ca. 7 Stellen / 4 Byte |
double
|
ungefähr ±5,0 × 10-324 bis ±1,7 × 10308 | ca. 15 bis 16 Stellen / 8 Byte |
Wertebereich von float
Der Datentyp float kann sehr kleine und sehr große Kommazahlen speichern.
- Der kleinste positive Wert liegt ungefähr bei
1,5 × 10^-45. - Das bedeutet: 1,5 multipliziert mit 10 hoch -45.
- Der größte Wert liegt ungefähr bei
3,4 × 10^38. - Das bedeutet: 3,4 multipliziert mit 10 hoch 38.
Achtung
Fixkommazahlen
Für besonders genaue Dezimalzahlen gibt es den Datentyp decimal.
| Datentyp | Wertebereich | Verwendung |
|---|---|---|
decimal
|
ungefähr ±7,9 × 1028 | Geeignet für Geldbeträge und genaue Dezimalwerte |
Sonstige Datentypen
| Datentyp | Wertebereich / Bedeutung | Erklärung |
|---|---|---|
bool
|
true oder false
|
Wahrheitswert |
char
|
Unicode-Zeichen | Einzelnes Zeichen |
string
|
Zeichenkette | Text aus mehreren Zeichen |
Vier wichtige Datentypen im Unterricht
| Datentyp | Bedeutung |
|---|---|
int
|
Ganzzahl mit 32 Bit Speicherplatz |
double
|
Kommazahl mit 64 Bit Speicherplatz |
string
|
Zeichenkette mit 16 Bit Speicherbedarf pro Zeichen, UTF-16-Kodierung |
bool
|
Wahr/Falsch-Wert |
Beispiel: Unterschiedliche Darstellung der Zahl 3
Die Zahl bzw. das Zeichen 3 kann je nach Datentyp unterschiedlich gespeichert werden.
| Datentyp | Wert | Darstellung auf Bitebene |
|---|---|---|
int
|
3
|
00000000 00000000 00000000 00000011
|
double
|
3.0
|
01000000 00001000 00000000 00000000 00000000 00000000 00000000 00000000
|
string
|
"3"
|
00000000 00110011
|
bool
|
- | Nicht als Zahl 3 darstellbar, da bool nur true oder false speichern kann.
|
Merke
Beispiel in C#
int ganzeZahl = 3;
double kommaZahl = 3.0;
string text = "3";
bool wahrheitswert = true;
Console.WriteLine(ganzeZahl);
Console.WriteLine(kommaZahl);
Console.WriteLine(text);
Console.WriteLine(wahrheitswert);
Typische Fehler
Fehler 1: Text und Zahl verwechseln
int zahl = "3";
Dieser Code ist falsch, weil "3" ein Text ist.
Richtig wäre:
int zahl = 3;
Fehler 2: Kommazahl in int speichern
int zahl = 3.5;
Dieser Code ist falsch, weil int keine Nachkommastellen speichern kann.
Richtig wäre:
double zahl = 3.5;
Fehler 3: bool falsch verwenden
bool wert = 3;
Dieser Code ist falsch, weil bool nur true oder false speichern kann.
Richtig wäre:
bool wert = true;
Zusammenfassung
Datentypen legen fest, wie Daten gespeichert und interpretiert werden.
Die wichtigsten Grundtypen sind:
intfür ganze Zahlendoublefür Kommazahlenstringfür Texteboolfür Wahrheitswerte
Prüfungstipp
