Tipi di dati.
Per lavorare con diversi intervalli di valori, vengono utilizzati diversi tipi di dati. In effetti puoi usare 4 byte per archiviare qualsiasi cosa, ma questo non è ottimale. Più di quattro byte non rientrano nel microcontrollore AVR quando si utilizzano tipi di dati ordinali. Se vuoi scrivere codice ottimale, usa i tipi di dati appropriati.
**char è un tipo di dati carattere, in termini numerici assume valori da -128 a 127. Nel caso di char, questi valori sono codici carattere nella tabella di caratteri ASCII standard. Può accettare e memorizzare dati in formato carattere (lettera o simbolo tra virgolette singole), ad esempio char var = 'a';. char16_t, char32_t e wchar_t - sono necessari per memorizzare dati di caratteri di grandi dimensioni per alfabeti di paesi diversi, non solo inglese.
- boolean(bool) - 1 byte(0 o 1(true o false)). *Variabile booleana, occupa 1byte, non un bit!
- char - 1 byte (-128... 127). **Memorizza il numero del carattere dalla tabella dei caratteri ASCII.
- int8_t - 1 byte (-128... 127). Tipo intero.
- byte(uint8_t) - 1 byte (0... 255). Tipo intero.
- int(int16_t, short) - 2 byte (-32 768... 32 767). Tipo intero.
- unsigned int(uint16_t, word) - 2 byte (0... 65535). Tipo intero.
- long(int32_t) - 4 byte (-2 147 483 648... 2 147 483 647). Tipo intero.
- unsigned long(uint32_t) - 4 byte (0... 4 294 967 295). Tipo intero.
- float - 4 byte (-3.4028235E+38... 3.4028235E+38). Memorizza numeri in virgola mobile (frazioni decimali). Precisione: 6-7 cifre.
**char è un tipo di dati carattere, in termini numerici assume valori da -128 a 127. Nel caso di char, questi valori sono codici carattere nella tabella di caratteri ASCII standard. Può accettare e memorizzare dati in formato carattere (lettera o simbolo tra virgolette singole), ad esempio char var = 'a';. char16_t, char32_t e wchar_t - sono necessari per memorizzare dati di caratteri di grandi dimensioni per alfabeti di paesi diversi, non solo inglese.