Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvPmNuBR 26 of 420 menu
◀ ▶

Байты и диапазон числа в Java

Диапазон целого числа складывается из того, сколько бит отведено под значение в памяти. Чем больше бит, тем больше разных чисел помещается в одну ячейку.

Самая мелкая клетка памяти - бит. В бите только два состояния: 0 или 1. Восемь бит составляют один байт.

Каждый новый бит удваивает количество разных чисел. Начинаем с единицы и удваиваем восемь раз: 2, 4, 8, 16, 32, 64, 128, 256. В одном байте помещается 256 разных чисел.

В Java целые типы знаковые: часть значений уходит в минус. На отрицательные отдают половину, 128 значений: от -128 до -1. Вторая половина - ноль и положительные числа от 1 до 127. Диапazon одного байта получается от -128 до 127.

Два байта - это 16 бит. Вторые восемь бит умножают число вариантов еще на 256, получается 65536 разных чисел. Половина, 32768 значений, уходит в минус: от -32768 до -1. Ноль и плюс занимают значения от 0 до 32767.

Тот же прием работает и для больших размеров: каждые новые 8 бит умножают число вариантов на 256. Четыре байта - 32 бита, восемь байт - 64 бита, вариантов еще в 256 раз больше.

Сведем типичные размеры знакового целого в таблицу:

Размер Бит Диапazon
1 байт 8 от -128 до 127
2 байта 16 от -32768 до 32767
4 байта 32 от -2147483648 до 2147483647
8 байт 64 от -9223372036854775808 до 9223372036854775807

Дробное число тоже занимает фиксированное число байт. Вариантов в этих битах конечное количество, и не каждая обычная дробь в них попадает точно. Дробь 1/3 в десятичной записи не кончается. В битах так же не кончается, например, 0.1. В отведенные байты попадает близкое значение, поэтому дробное часто хранится приблизительно.

В Java для чисел есть разные типы. Они занимают разное количество байт, и диапазон у них поэтому разный. Дальше в уроках раздела будем разбирать эти типы по именам.

Сколько бит в одном байте?

Сколько разных чисел помещается в один байт?

Число занимает 1 байт и хранит знак. Какой диапазон оно может хранить?

Сколько бит в двух байтах?

Сколько разных чисел помещается в два байта?

Число занимает 2 байта и хранит знак. Какой диапазон оно может хранить?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить