> Как посчитать количество значений в типе 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³².
На практике в коде это можно вычислить так:
JAVAlong count = (long) Integer.MAX_VALUE - Integer.MIN_VALUE + 1;
Или проще:
JAVAlong count = 1L << 32; // 2^32
Обратите внимание на использование long, так как результат превышает диапазон int. В Go, где также есть 32-битный int (на 64-битных платформах он может быть 64-битным, но для типов int32 или int с явным размером), логика аналогична: 1 << 32 даст 4 294 967 296, но нужно быть осторожным с переполнением при использовании int.
> Похожие задачи по Java
Что происходит, если по userId пользователь не найден?
Работал ли ты с Cassandra, MongoDB, Redis, ElasticSearch, ClickHouse
> Похожие задачи по backend
Какие алгоритмы балансировки существуют
Будет ли метод работать корректно при бесконечном input?
Как организовать мьютексы для многопоточной работы с данными по разным пользователям без блокировки всего стореджа
Подходит ли слайс в Go для хранения и частого увеличения массива событий
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью