Новые книги

Только Дэн Кеннеди мог осмелиться написать такое руководство по безжалостному менеджменту – без всякого рассусоливания и высокоученых теорий, только железные рецепты, проверенные на деле. Теперь, когда у вас есть эта книга, уму непостижимо, как вы могли до сих пор без нее обходиться.

Она облекает вас правом вернуть себе власть над своим бизнесом, задавать правила, ставить во главу угла прибыль и добиваться настоящих результатов от тех, кто на вас работает.

Каждый, кто вооружится установками знаменитого бизнес-гуру и последовательно применит в бизнесе – и в жизни! – описанные на этих страницах методы и техники, очень скоро увидит перемены к лучшему.

3-е издание.
Истории звездных блогеров кажутся нам фантастическими, а их успех — недостижимым. Но автор книги, сменившая работу в традиционных СМИ на карьеру блогера, уверяет, что создать блог на миллион долларов может каждый, у кого есть желание, фантазия и готовность заниматься этим всерьез. Наташа Кортни-Смит делится с читателями стратегией и тактикой, которые помогли ей прийти к успеху.

Если вы хотите создать блог, но не знаете, с чего начать; если вы уже блогер, но хотели бы выйти на другой уровень; если вы предприниматель и задаетесь вопросом, чем блогинг может помочь в развитии и продвижении вашего бизнеса — эта книга точно будет вам полезна. Вы узнаете, каким контентом лучше всего наполнить блог, как создать личный бренд, вести видеоблог, стать узнаваемым и популярным в соцсетях.

Книгу дополняют интервью с самыми успешными блогерами со всего мира.

Целые Числа

Учебник РНР
Назад Глава 6. Типы Вперёд

Целые числа

integer это число из набора Z = {..., -2, -1, 0, 1, 2, ...}

См. также: Целые числа произвольного размера и Числа с плавающей точкой

Синтаксис

Целые числа могут специфицироваться в десятеричной (база 10), 16-ричной (база 16) или 8-ричной (база 8) нотации с необязательным знаком (- или +).

Если вы используете 8-ричную нотацию, первым символом числа должен быть 0 (нуль), для 16-ричной нотации первыми символами числа будут 0x.

Пример 6-1. Целочисленные литералы
$a = 1234; # 10-ричное число
$a = -123; # отрицательное число
$a = 0123; # 8-ричное число (экивалентно 10-ричному 83)
$a = 0x1A; # шестнадцатеричное число (экивалентно 10-ричному 26)

Размер integer зависит от платформы, хотя максимальное значение около 2 миллионов является обычным (то есть 32-битное знаковое). PHP не поддерживает беззнаковые integer.

Переполнение

Если вы специфицируете число за рамками диапазона типа integer, оно будет интерпретировано как float. Также, если вы выполняете операцию, которая даёт в результате число за пределами диапазона типа integer, будет возвращено float.

$large_number =  2147483647;
var_dump($large_number);
// на выходе: int(2147483647)

$large_number =  2147483648;
var_dump($large_number);
// на выходе: float(2147483648)

// это подходит также для специфицированных 16-ричных чисел:
var_dump( 0x80000000 );
// на выходе: float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);
// на выходе: float(50000000000)

Предупреждение!

К сожалению, в РНР был замечен bug, поэтому не всегда была корректна работа с отрицательными числами. Например: если выполнить -50000 * $million, результат будет
-429496728. Однако, когда оба операнда - положительные, проблем не возникает.

Это устранено в PHP 4.1.0.

В PHP нет операции целочисленного деления. 1/2 даст float 0.5.

var_dump( 25/7 );
// на выходе: float(3.5714285714286)

Конвертация в integer

Для явной конвертации значения в integer используйте приведение (int) или (integer). Однако в большинстве случаев вам нет необходимости использовать приведение/cast, поскольку значение будет конвертировано автоматически, если операция, функция или структура управления требует integer-аргумента.

См. также Трюки с типами.

Из boolean

FALSE даст 0 (нуль), а TRUE даст 1 (единицу).

Из float

При конвертации float в integer, число округляется в сторону нуля.

Если float выходит за диапазон integer (обычно это +/- 2.15e+9 = 2^31), результат будет неопределённым, поскольку float не имеет достаточной точности для выдачи точного integer-результата. В этом случае не будет выдано ни предупреждения, ни даже какого-либо уведомления!

Предупреждение!

Никогда не приводите неизвестную дробь к integer, так как это может дать непредсказуемый результат.

echo (int) ( (0.1+0.7) * 10 ); // выведет 7!

См. дополнительно предупреждение о числах с плавающей точкой.

Из string

См. Конвертация строк

Из других типов

Внимание!

Поведение при конвертации в integer для других типов не определено. В настоящее время поведение такое же, как если бы значение сначала было конвертировано в boolean. Однако не полагайтесь на это поведение, так как оно может быть изменено без предупреждения.


Назад Оглавление Вперёд
Булев Вверх Числа с плавающей точкой