Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Целые числа Objective-C

0

Целое число не имеет дробной части. Целые числа хорошо подходят для не- которых задач – скажем, для подсчета. Некоторые задачи (скажем, подсчет всего населения планеты) требует очень больших чисел. Для другой задачи (например, подсчет детей в классе) хватит существенно меньших чисел.

Для разных задач были созданы целочисленные переменные с разными раз- мерами. Целочисленная переменная состоит из некоторого количества разрядов (битов), используемых для кодирования числа; чем больше разрядов в переменной, тем больше разных чисел в ней можно сохранить. Типичные размеры переменных – 8, 16, 32 и 64 разрядные.

Кроме того, для одних задач нужны отрицательные числа, а для других нет. Соответственно, целочисленные типы делятся на знаковые и беззнаковые. 8 – разрядная беззнаковая переменная может хранить любое число от 0 до 255. Откуда берется это значение? 2 = 256 возможных чисел, а мы начинаем отсчет с 0.

В 64-разрядной знаковой переменной может храниться любое целое число из диапазона от -9 223 372 036854775808 до 9223 372 036 854 775 807. Один разряд,

отведенный под знак, исключается. Остается 2 = 9 223 372 036 854 775 808.

При объявлении целого числа можно очень точно указать, что именно вам нужно:

UInt32 x; // 32-­‐разрядное целое без знака SInt16 y; // l6-­‐разрядное целое со знаком

Впрочем, программисты чаще используют более общие типы, о которых вы узнали в главе 3.

char а; // 8-­‐разрядное значение

short b; // Обычно 16-­‐разрядное (в зависимости от платформы) int с; // Обычно 32-­‐разрядное (в зависимости от платформы) long d; // 32-­‐ или 64-­‐разрядное (в зависимости от платформы) long long е; // 64-­‐разрядное значение

Почему тип char отнесен к числовым? Любой символ может быть представлен в виде 8-разрядного числа, а компьютеры предпочитают работать с числами. Типы

char, short, int, long и long long по умолчанию имеют знак, но вы можете указать ключевое слово unsigned для создания беззнакового эквивалента.

Кроме того, размеры целых чисел зависят от платформы. (Платформой называется сочетание операционной системы и конкретного компьютера или мобильного устройства.) Одни платформы являются 32-разрядными, другие 64- разрядными. Они отличаются прежде всего размером адреса памяти (мы поговорим об этом подробнее в главе 8).

Фирма Apple создала два целых типа, которые являются 32-разрядными на 32-

разрядных платформах и 64-разрядными на 64-разрядных платформах:

NSlnteger g; NSUInteger h;

Эти типы используются во многих приложениях Apple. Они во всех отношениях эквивалентны long и unsigned long.

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии