Arduino Standard Variable Types
char
-128 to 127 (8-bit)
byte
0 to 255 (8-bit)
int
ATMega based boards (e.g. Arduino Uno)
-32,768 to 32,767 (16-bit)
Arduino Due and other 32bit boards
-2,147,483,648 to 2,147,483,647 (32-bit)
unsigned int
ATMega based boards (e.g. Arduino Uno)
0 to 65,535 (16-bit)
Arduino Due and other 32bit boards
0 to 4,294,967,295 (32-bit)
long
-2,147,483,648 to 2,147,483,647 (32-bit)
unsigned long
0 to 4,294,967,295 (32-bit)
float
-3.4028235E+38 to 3.4028235E+38
6-7 decimal digits of precision (total number of digits, not the number to the right of the decimal point)
32 bits (4 bytes)
double
ATMega based boards (e.g. Arduino Uno)
No different to a float (this is non-standard – unlike other platforms where you can get more precision by using a double.
Arduino Due and other 32bit boards
64 bits (8 bytes)