I don't know about java but in c/c++ the range of data can be accepted is:-
data type | byte | bits | Range
short int | 2 | 16 | -32,768 -> +32,767 (16kb)
unsigned short int | 2 | 16 | 0 -> +65,535 (32Kb)
unsigned int | 4 | 16 | 0 -> +4,294,967,295 ( 4Gb)
int | 4 | 32 | -2,147,483,648 -> +2,147,483,647 ( 2Gb)
long int | 4 | 32 | -2,147,483,648 -> +2,147,483,647 ( 2Gb)
signed char | 1 | 8 | -128 -> +127
unsigned char | 1 | 8 | 0 -> +255
float | 4 | 32 |
double | 8 | 64 |
long double | 12 96