Ответ
Примитивный тип short в Java — это 16-битное целое число со знаком (signed). Его диапазон значений:
от -32 768 до 32 767 (включительно).
Объяснение: Один бит отводится под знак, 15 бит — под величину.
- Максимальное положительное значение: (2^{15} - 1 = 32 767).
- Минимальное отрицательное значение: (-2^{15} = -32 768).
Примеры:
short min = -32768;
short max = 32767;
// short s = 32768; // Ошибка компиляции: значение вне диапазона
short s = (short) 32768; // Явное приведение с переполнением
System.out.println(s); // Выведет: -32768
// Как и byte, в арифметике short расширяется до int
short x = 1000;
short y = 2000;
// short z = x + y; // Ошибка: результат типа int
short z = (short) (x + y); // Корректно, результат 3000 после приведения станет -25536 из-за переполнения.
| Сравнение с другими целочисленными типами: | Тип | Размер (биты) | Диапазон |
|---|---|---|---|
byte |
8 | -128 .. 127 | |
short |
16 | -32 768 .. 32 767 | |
int |
32 | -2 147 483 648 .. 2 147 483 647 | |
long |
64 | -9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807 |