> Как посчитать количество значений в типе int (Java)

Уровень: senior · Роль: backend · Язык: Java · Категория: Технические вопросы

Компании: Сбер

Стек: Go, Java

> Пример ответа

В Java тип int является 32-битным знаковым целым числом, поэтому количество возможных значений равно 2³² = 4 294 967 296. Однако из-за того, что int знаковый (использует дополнительный код), диапазон значений - от -2³¹ до 2³¹-1, то есть от -2 147 483 648 до 2 147 483 647. Таким образом, общее количество значений остаётся 2³².

На практике в коде это можно вычислить так:

JAVA
long count = (long) Integer.MAX_VALUE - Integer.MIN_VALUE + 1;

Или проще:

JAVA
long count = 1L << 32; // 2^32

Обратите внимание на использование long, так как результат превышает диапазон int. В Go, где также есть 32-битный int (на 64-битных платформах он может быть 64-битным, но для типов int32 или int с явным размером), логика аналогична: 1 << 32 даст 4 294 967 296, но нужно быть осторожным с переполнением при использовании int.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью