0Pricing
Swift Academy · Урок

Целочисленные типы и их диапазоны

Изучите 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 — локальная установка не требуется.

Все уроки этого курса

  1. Целочисленные типы и их диапазоны
  2. Числа с плавающей точкой: Double и Float
  3. Явные преобразования чисел
  4. Числовые литералы и символы подчёркивания
← Назад к Swift Academy