Переполнение в Go
Переполнение - это шаг за край типа.
У int8 верхний край равен 127,
нижний край равен -128. Отдельного
числа 128 в этом типе нет. Шаг за
верхним краем попадает на нижний:
var num int8 = 127
num = num + 1
fmt.Println(num) // выведет -128
С другого края шаг такой же.
От -128 он дает 127:
var num int8 = -128
num = num - 1
fmt.Println(num) // выведет 127
Дана переменная:
var num int8 = 126
Прибавьте 1, запишите результат
в эту же переменную и выведите ее.
Дана переменная:
var num int8 = 127
Прибавьте 1, запишите результат
в эту же переменную и выведите ее.
Дана переменная:
var num int8 = -128
Отнимите 1, запишите результат
в эту же переменную и выведите ее.