Динамический тип int: внутреннее устройство
Давай разберемся, как подсчитать максимальное и минимальное значения типа.
-
Создадим файл main.go в следующей директории: module2/types/primitives/int
-
Воспользуемся декрементом.
Как мы видим в коде, при уменьшении минимального значения не интуитивно мы получаем положительное число, потому что отрицательные числа начинаются со старшего бита.
Рассмотрим ситуацию на примере int8
Отрицательные значения:
Положительные числа:
Всего в int8 должно быть 256 значений или 2⁸, максимальное положительное число — 127, так как
отсчет начинается с нулевого значения, когда все ячейки битов в состоянии 0.