Angenommen, ein Sensor verwendet eine 16-Bit-Ganzzahl oder Sie möchten eine Ganzzahl erstellen, die immer 16-Bit ist. Dann wird "int16_t" verwendet. Auf allen Arduino-Boards sind es immer 16 Bit.
Was ist ein int16_t?
int16_t ist eine 16-Bit-Ganzzahl. uint16_t ist eine vorzeichenlose 16-Bit-Ganzzahl. Gleiches gilt für 8-Bit-, 32-Bit- und 64-Bit-Variablen. Es wird hauptsächlich verwendet, um Programme plattformübergreifend zu erstellen. Zum Beispiel sind Arduino-Ganzzahlen (int) 2 Byte, aber in Heimcomputern ist eine Ganzzahl 32 Bit.
Soll ich int oder int16_t verwenden?
int kann von der Hardwarearchitektur abhängen und ist meistens 16 oder 32 Bit. Allerdings ist an int16_t immer 16 Bit, unabhängig von der Hardwarearchitektur. Es wird schief gehen, wenn Sie eine 32-Bit-Architektur haben (für ein int) und Sie es in ein int16_t umwandeln, dann verlieren Sie die MSB 16 Bits.
Was ist int16_t in C?
Zum Beispiel zeigt der Name int16_t einen 16-Bit-Ganzzahltyp mit Vorzeichen und der Name uint32_t zeigt einen 32-Bit-Ganzzahltyp ohne Vorzeichen an. Um diese Namen für ein Programm verfügbar zu machen, schließen Sie die inttypes ein. h Header-Datei. … Diese neuen Bezeichnungen werden Typen mit exakter Breite genannt.
Wie ist uint32_t definiert?
uint32_t ist ein numerischer Typ, der 32 Bit garantiert . Der Wert ist vorzeichenlos, dh der Wertebereich reicht von 0 bis 232 - 1. uint32_t ptr; deklariert einen Zeiger vom Typ uint32_t, aber der Zeiger ist nicht initialisiert,das heißt, der Zeiger zeigt auf nichts Bestimmtes.