Skip to content

Динамический тип int: внутреннее устройство

Давай разберемся, как подсчитать максимальное и минимальное значения типа.

  1. Создадим файл main.go в следующей директории: module2/types/primitives/int

  2. Воспользуемся декрементом.

 

Как мы видим в коде, при уменьшении минимального значения не интуитивно мы получаем положительное число, потому что отрицательные числа начинаются со старшего бита.

Рассмотрим ситуацию на примере int8

Отрицательные значения:

Положительные числа:

Всего в int8 должно быть 256 значений или 2⁸, максимальное положительное число — 127, так как
отсчет начинается с нулевого значения, когда все ячейки битов в состоянии 0.