Целочисленные типы и их диапазоны
Изучите Int, UInt, Int8..Int64 и их границы.
«Целочисленные типы и их диапазоны» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.
Целочисленные типы в Swift
В Swift есть несколько целочисленных типов. Int является типом по умолчанию и соответствует размеру машинного слова платформы, обычно 64 битам. Существуют также типы фиксированной разрядности, например Int8, Int16, Int32 и Int64.
let count: Int = 42
print(count)
print(type(of: count))Знаковые и беззнаковые типы
Знаковые типы (Int) могут хранить отрицательные и положительные значения. Беззнаковые типы (UInt) хранят только zero и положительные значения, получая больший диапазон положительных чисел.
let signed: Int = -10
let unsigned: UInt = 10
print(signed, unsigned)Размеры целых чисел фиксированной разрядности
Число в имени типа обозначает количество битов. Int8 использует 8 битов, Int16 — 16 и так далее. Чем больше битов, тем шире диапазон.
print(MemoryLayout<Int8>.size)
print(MemoryLayout<Int16>.size)
print(MemoryLayout<Int64>.size)Свойства min и max
Каждый целочисленный тип предоставляет .min и .max, которые задают его наименьшее и наибольшее представимые значения.
print(Int8.min, Int8.max)
print(UInt8.min, UInt8.max)Диапазон Int8
Знаковый Int8 имеет диапазон от -128 до 127. Асимметрия возникает потому, что на неотрицательной стороне одно значение зарезервировано для zero.
print("Int8 range:", Int8.min, "to", Int8.max)Диапазон UInt8
Беззнаковый UInt8 имеет диапазон от 0 до 255. Поскольку бит знака не нужен, все 8 битов представляют величину.
print("UInt8 range:", UInt8.min, "to", UInt8.max)Большие диапазоны целых чисел
Int16, Int32 и Int64 экспоненциально расширяют диапазон значений. Диапазон Int32 уже превышает два миллиарда по модулю.
print("Int16 max:", Int16.max)
print("Int32 max:", Int32.max)
print("Int64 max:", Int64.max)Платформенный целочисленный тип
На 64-разрядных платформах Int идентичен Int64. Для обычного кода предпочитайте простой Int, если Вам специально не нужна фиксированная разрядность.
print("Int.max:", Int.max)
print("Same as Int64:", Int.max == Int64.max)Выбор целочисленного типа
По умолчанию используйте Int. Выбирайте типы фиксированной разрядности при работе с двоичными форматами, оборудованием или данными, чувствительными к расходу памяти.
let pixelChannel: UInt8 = 200
let fileOffset: Int64 = 5_000_000_000
print(pixelChannel, fileOffset)Определение диапазона с помощью min и max
Во время выполнения можно использовать .min и .max, чтобы перед преобразованием убедиться, что значение fits в целевой тип.
let big = 300
let fits = big >= Int(UInt8.min) && big <= Int(UInt8.max)
print("Fits in UInt8:", fits)Пример итогов о разрядности целых чисел
Каждый дополнительный бит примерно удваивает диапазон. Эта программа показывает максимальное значение для беззнаковых типов с постепенно увеличивающейся разрядностью.
print(UInt8.max)
print(UInt16.max)
print(UInt32.max)Быстрая проверка
Вспомните точный (exact) диапазон знакового 8-битного целого числа.
Итоги: целочисленные типы и диапазоны
Вы узнали, что Int является типом по умолчанию с размером, зависящим от платформы, что знаковые типы включают отрицательные значения, а беззнаковые (UInt) начинаются с zero, и что типы фиксированной разрядности от Int8 до Int64 имеют определённые границы .min/.max, которые расширяются с увеличением разрядности.
print("Defaults and bounds:")
print(Int.max)
print(Int8.min, Int8.max)
print(UInt8.max)Часто задаваемые вопросы
Урок «Целочисленные типы и их диапазоны» бесплатный?
Да — полный текст урока «Целочисленные типы и их диапазоны» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.
Чему я научусь в уроке «Целочисленные типы и их диапазоны»?
Изучите Int, UInt, Int8..Int64 и их границы. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Целочисленные типы и их диапазоны»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Целочисленные типы и их диапазоны
- Числа с плавающей точкой: Double и Float
- Явные преобразования чисел
- Числовые литералы и символы подчёркивания