Swift: Overflow Operators (Операторы переполнения)

Основное отличие от C – арифметически операции в Swift выполняются без переполнения, чтобы переполнение было, – необходимо перед оператором поставить знак амперсанда & (&+ к примеру)
Т.е. по умолчанию при переполнении swift выкидывает ошибку и выполнение программы прерывается.

Чтобы избежать ошибки надо использовать операторы переполнения
– сложение &+
– вычитание &-
– умножение &*

Переполнение может случиться как в положительном так и в отрицательном направлении для беззнаковых чисел.

_11111111
 &+
_00000001
———
100000000 (0)
Еденица помеченная жирным – бит который вышел за пределы UInt8, и была отброшена

Переполнение в обратном направлении

Так же переполнение бывает и у знаковых чисел тоже, т.к. все операции сложения и вычитания с учетом формата – производятся тем же способом как и на беззнаковых

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.