Читать книгу Mit Arduino die elektronische Welt entdecken - Erik Bartmann - Страница 68
Die Datentypen
ОглавлениеWir sollten uns nun ein wenig mit den unterschiedlichen Datentypen und der Frage, was ein Datentyp überhaupt ist und warum es so viele unterschiedliche davon gibt, beschäftigen. Der Mikrocontroller verwaltet seine Sketche und Daten in seinem Speicher. Dieser Speicher ist ein strukturierter Bereich, der über Adressen verwaltet wird und Informationen aufnimmt oder abgibt, wobei Informationen in Form von Einsen und Nullen gespeichert werden.
Was ist ein Datentyp?
Ein Datentyp beschreibt eine bestimmte Menge von Datenobjekten (Variablen), die allesamt die gleiche Struktur haben. Jede Variable muss dabei einen bestimmten Datentyp haben.
Die kleinste logische Speichereinheit ist das Bit, das eben die zwei Zustände 1 oder 0 speichern kann. Stell es dir als eine Art elektronischen Schalter vor, der ein- und ausgeschaltet werden kann. Da du mit einem Bit lediglich zwei Zustände abbilden kannst, sind mehrere Bits zur Speicherung der Daten sinnvoll und notwendig. Der Verbund aus 8 Bits wird 1 Byte genannt und ermöglicht es, 28 = 256 unterschiedliche Zustände zu speichern. Die Basis 2 wird verwendet, weil es sich um ein binäres System handelt, das lediglich zwei Zustände kennt. Wir können mit 8 Bits also einen Wertebereich von 0 bis 255 abdecken.
Ich liste hier für den Anfang einmal die wichtigsten Datentypen auf, mit denen du in Zukunft konfrontiert wirst:
Tabelle 1: Datentypen mit entsprechenden Wertebereichen | |||
Datentyp | Wertebereich | Datenbreite | Beispiel |
---|---|---|---|
void | keiner | null | void setup() {} |
byte | 0 bis 255 | 1 Byte | byte wert = 42; |
unsigned int | 0 bis 65.535 | 2 Bytes | unsigned int sekunden = 46547; |
int | –32.768 bis 32.767 | 2 Bytes | int ticks = -325; |
long | –231 bis 231–1 | 4 Bytes | long wert = -3457819; |
float | –3.4 * 1038 bis 3.4 * 1038 | 4 Bytes | float messwert = 27.5679; |
double | siehe float | 4 Bytes | double messwert = 27.5679; |
boolean | true oder false | 1 Byte | boolean flag = true; |
char | –128 bis 127 | 1 Byte | char mw = 'm'; |
String | variabel | variabel | String name = "Erik Bartmann"; |
Array | variabel | variabel | int pinArray[] = {2, 3, 4, 5}; |
Die meisten der hier gezeigten Datentypen werden wir auch in diesem Buch verwenden.