int, unsigned int

Jeden z najpoužívanejších dátových typov int (od slova integer – celé číslo) môže nadobúdať hodnoty 16-bitové (2 bajty) alebo 32-bitové (4 bajty) a to podľa typu použitého procesoru – napr.: Arduino Uno (a ostatné ATMega dosky s 8-bitovými procesormi) majú hodnoty int ako 16-bitové a Arduino Due (s 32-bitovým procesorom) používa hodnotu int ako 32-bitové číslo. Na toto treba myslieť pri tvorbe programu, ktorý môže bežať na rôznych platformách.

int x = 13;
unsigned int ledPin = 13;

Dátový typ int ukladá 16-bitové číslo od -32.768 do 32.767 (int16_t) a 32-bitové číslo od 2.147.483.648 do 2.147.483.647 (int32_t). Dátový typ unsigned int ukladá 16-bitové číslo od 0 do 65.535 (uint16_t) a 32-bitové číslo od 0 do 4.294.967.295 (uint32_t).

.................................................................................................

float

Typ premennej float je určený pre reálne čísla s desatinnou čiarkou v rozsahu od -3.4028235E+38 do 3.4028235E+38. Alokácia premennej float vyžaduje 32-bitov (4 bajty). Pre predstavu, rozloženie premennej môže vyzerať takto: 24 bitov je určené pre mantisu a 8 bitov pre exponent.

float teplota;
float sensor = 1.117;

Vzhľadom na to, že dátový typ float je zložený z dvoch častí, ktoré nesú informáciu o skutočnej hodnote reálneho čísla, môže nastať situácia, že výpočet bude mimo rozsah a vtedy nastane nedefinovateľná modifikácia jednej z častí (mantisa, exponent) a výsledok bude špatný. Všetko sa žiaľ stane bez informácie o presahu povolených medzí. Treba myslieť na to, že čísla s plávajúcou desatinnou čiarkou nie sú presné a môžu priniesť podivné výsledky pri porovnaní. Napríklad 6.0 / 3.0 nemusí sa rovnať 2.0. Taktiež výpočet s plávajúcou čiarkou je oveľa pomalší ako výpočet s celým číslom.

int x;
int y;
float z;

x = 1;
y = x / 2;            // y má hodnotu 0, lebo je typu celé číslo
z = (float)x / 2.0;   // z teraz obsahuje .5 (treba použiť 2.0 a nie 2)

Desatinné čísla sa píšu s bodkou a nie s čiarkou ako sme zvyknutí.