🧑 Задачи с числовыми типами: Переполнение
Я понял, что это заслуживает отдельной рубрики задач для финтехов. В прошлых постах мы говорили про плавающие точки и краши деления на 0.
В тему поста про плавающие точки кто-то написал: "просто держите все числа в Int". Но у Int есть своя ловушка.
Int не бесконечный.
Допустим вы в какой-то вселенной все же вышли за пределы Int.max в каком-нибудь финтехе. Что будет?
Компилятор не соберет, а в некоторых кейсах краш EXC_ARITHMETIC. Снова.
Некоторые энтузиасты даже делают библиотеки для таких кейсов расширяя типом BigUInt. Но есть и официальные либы.
А Apple дает системные инструменты как addingReportingOverflow.
Полезные статьи:
- Swift Integer Quick Guide
- Handling Integer Overflow in Swift
Post #3860
1.98K


