2021-10-15 12:29:00
Работа с числамиИнтересно, что Swift позволяет хранить числа в различных системах счислений: двоичной, восьмиричной, шестнадцатиричной, и само собой, десятичной.
let binaryNumber = 0b11101 // 29 в двоичной системе
let octalNumber = 0o35 // 29 в восьмеричной системе
let hexadecimalNumber = 0x1D // 29 в шестнадцатеричной
print(octalNumber, octalNumber, octalNumber) // 29 29 29
Сложно представить, зачем это нужно на практике, но такая возможность существует.
Помимо этого, числа можно записывать с помощью знака подчёркивания. Такой способ помогает упростить визуальное считывание значения.
let number = 122900000
print(number) // 122900000
let underlinedNumber = 122_900_000
print(underlinedNumber) // 122900000
Возможно, вы знаете про разного рода приколы в JavaScript, где 0.1 * 3 будет 0.30000000000000004. Подобное в Swift тоже присутствует.
var number = 0.2
number += 0.1
print(number) // 0.30000000000000004
Решается всё с помощью специального типа данных Decimal. Он работает медленнее, чем схожие типы с плавающей точкой, такие как Float или Double. А также, потребляет больше памяти для вычислений.
Но при этом, вычисления происходят точнее. Чтобы пользоваться Decimal, нужно импортировать библиотеку Foundation.
import Foundation
var number: Decimal = 0.2
number += 0.1 print(number) // 0.3
Если вы нашли неточности или ошибки, можете написать об этом в комментариях.
#Swift
286 views09:29