unsigned int myVariable = 0;
festgelegt, dass die Bits in der Speicherzelle mit Namen "myVariable" als ganzzahlige, positive Zahlen zu lesen sind. Ferner wird dieser Variablen als Startwert "0" zugewiesen.uint8_t myVariable = 0;
Dadurch werden für myVariable lediglich 8 Bits (1 Byte) an Arbeitsspeicher verwendet und Sparsamkeit am richtigen Ende wollen wir uns in diesem Tutorial ja angewöhnen.uint32_t myVariable = 0;
Platz für mehr als 4 Milliarden Zahlen reservieren. Ihr erkennt das System dahinter und könnt euch nun denken, wie man 64 Bit für eine vorzeichenlose, ganzzahlige Variable reserviert.unsigned long myVariable = 0;
Genau wie bei der Angabe "unsigned int" ist auch die Größe und der Wertebereich von "unsigned long" nicht fest definiert und hängt davon ab, für welches Zielsystem der Code compilliert wird. Die Arduino IDE verwendet 32 Bits (4 Bytes), wenn 8-Bit Mikrocontroller als Zielsystem gewählt wurden. Die alternative Bezeichnung "uint32_t" macht für alle Systeme klar, dass 32 Bit, ganzzahlige Werte gemeint sind.int myVariable = 0;
wird von dem Compiller der Arduino IDE für 8-Bit Mikrocontroller Platz für 16 Bits (2 Bytes) reserviert. Der Wertebereich der in myVariable speicherbaren Zahlwerte liegt nun zwischen -32768 und 32767.int8_t myVariable = 0;
Der Wertebereich liegt nun zwischen -128 und 127. Natürlich geht auch mehr mit:int32_t myVariable = 0;
und Werten zwischen -2147483648 und 2147483647. Ihr erkennt das System?long myVariable = 0;
definiert werden. Genau wie bei "int" gilt auch hier, dass die exakte Größe des Speicherplatzes abhängig vom Zielsystem ist. Wird das gleiche Programm in der Arduino IDE z.B. tür einen 32 Bit Microcontroller compilliert, so kann es sich dann auch um einen 64 Bit großen Zahlenspeicher handeln. Durch Verwendung von "int32_t" wird zweifelsfrei für alle Mikrocontroller eine 32 Bit (4 Byte) Variable definiert.char myVariable = 'a';
In dem vorangegangenen Kapitel haben wir gelernt, dass im ASII-Code lediglich 127 unterschiedliche Zeichen festgelegt sind, die locker in 8 Bits (1 Byte) passen. Es macht daher keinen Sinn, einer Variablen vom Typ char (Englich character) mehr als 8 Bit Speicherplatz zuzuweisen.
|
|
| Typbezeichnung | Bits | Bytes | Wertebereich | Bemerkung |
|---|---|---|---|---|
| uint8_t | 8 | 1 |
0 bis 255 |
Ganzzahlige Werte ohne Vorzeichen |
| byte | 8 | 1 |
0 bis 255 |
Gleichbedeutend mit uint8_t |
| uint16_t | 16 | 2 |
0 bis 65 535 |
Ganzzahlige Werte ohne Vorzeichen |
| uint32_t | 32 | 4 |
0 bis 4 294 967 295 |
Ganzzahlige Werte ohne Vorzeichen |
| uint64_t | 64 | 8 |
0 bis |
Ganzzahlige Werte ohne Vorzeichen |
| unsigned int | ??? | ??? |
0 bis ??? |
Ganzzahlige Werte ohne Vorzeichen Wertebereich und Speicherplatz hängen davon ab, für welches Zielsystem compilliert wird. Die Arduino IDE verwendet uint16_t für 8-Bit Zielsysteme. |
| unsigned long | ??? | ??? |
0 bis ??? |
Ganzzahlige Werte ohne Vorzeichen Wertebereich und Speicherplatz hängen davon ab, für welches Zielsystem compilliert wird. Die Arduino IDE verwendet uint32_t für 8-Bit Zielsysteme. |
| int8_t | 8 | 1 |
-128 bis 127 |
Ganzzahlige Werte mit Vorzeichen gleichbedeutend mit: signed int8_t |
| uint16_t | 16 | 2 |
-32768 bis -32767 |
Ganzzahlige Werte mit Vorzeichen gleichbedeutend mit: signed int16_t |
| uint32_t | 32 | 4 |
-2147483648 bis 2147483647 |
Ganzzahlige Werte mit Vorzeichen gleichbedeutend mit: signed int32_t |
| int64_t | 64 | 8 |
-9 223 372 036 854 775 808 bis |
Ganzzahlige Werte mit Vorzeichen gleichbedeutend mit: signed int64_t |
| unsigned int | ??? | ??? |
0 bis ??? |
Ganzzahlige Werte mit Vorzeichen Wertebereich und Speicherplatz hängen davon ab, für welches Zielsystem compilliert wird. Die Arduino IDE verwendet int16_t für 8-Bit Zielsysteme. Gleichbedeutend mit: signed int |
| unsigned long | ??? | ??? |
0 bis ??? |
Ganzzahlige Werte mit Vorzeichen Wertebereich und Speicherplatz hängen davon ab, für welches Zielsystem compilliert wird. Die Arduino IDE verwendet int32_t für 8-Bit Zielsysteme. Gleichbedeutend mit: signed long |
| float | 32 | 4 |
-3.4028235 * 1038 bis -3.4028235 * 1038 |
Kommazahlen In der Arduino IDE gleichbedeutend mit: double |
| double | 32 | 4 |
-3.4028235 * 1038 bis -3.4028235 * 1038 |
Kommazahlen In der Arduino IDE gleichbedeutend mit: float |
| char | 8 | 1 |
0 bis 255 |
Speicher für einen Buchstaben oder sonstiges ASCII-Zeichen Ein char kann im Programm aber auch als ganzzahliger Wert (uint8_t) für Rechenoperationen behandelt werden. Dennoch sollten in einem char nur ASCII-Zeichen gespeichert werden. |
Du findest diese Seite klasse?
Gummibärchen als Nervennahrung beim Programmieren und der Betrieb dieses Servers verschlingen mein Geld.
Klick hier oder scan den QR Code, um eine Spende zu überweisen. |