Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
244
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

Целые числа

Целочисленные переменные в РНР принимают значения из множества Z = ..., -2, -1,0,1,2,...

Синтаксис целочисленных переменных

Целые числа могут задаваться в десятичной, шестнадцатеричной и восьмеричной системах счисления. Знак числа указывается символом “+” для положительных и символом “–” для отрицательных чисел.

Если используется восьмеричное представление, необходимо начать число с символа 0 (нуля), а при использовании шестнадцатеричной записи – с префикса 0х.

Несколько примеров записи целых чисел:

$a = 1234; // привычный формат представления числа

$a = -123; // отрицательное число

$a = 0123; // восьмеричное число (соответствует десятичному, 83)

$a = 0x1A; // шестнадцатеричное число, соответствующее десятичному 26

Максимальное значение целого числа, поддерживаемого PHP-машиной, зависит от особенностей платформы, но на сегодняшний день наиболее часто используется 231-1.

Целочисленное переполнение

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

$large_number = 2147483647;

var_dump($large_number); // результат: int(2147483647)

$large_number = 2147481648;

var_dump($large_number) ; // результат: float(2147483648)

Кроме того, если некоторая функция или оператор приводят к получению результата, выходящего за пределы, поддерживаемые целочисленным типом, этот результат автоматически преобразуется в вещественное число:

$million = 1000000;

$large_number = 5000 * $million;

var_dump( $large_number ); // результат: float(5000000000)

Приведение к целочисленному типу

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

Приведение к целочисленному типу осуществляется в зависимости от типа исходного значения:

  • Логическое значение FALSE преобразуется в 0 (нуль), a TRUE – в 1.

  • Число округляется по направлению к нулю (называется ближайшим меньшим целым).

  • Если же исходное вещественное число находится за пределами границ, используемых целыми числами (в настоящее время это, как правило, 231), результат операции не определен. (в том случае вы не получите никакого предупреждения от РНР-машины.)

Вещественные числа

Вещественные числа, они же «числа с плавающей запятой» могут вводиться с помощью всех стандартных нотаций, принятых в Си или Perl:

$а = 1.234; $а = 1.2еЗ; $а = 7E-10;

Максимальный размер вещественного числа, так же как и в случае с целыми числами, зависит от платформы, но, как правило, используется 64-битный формат IEЕЕ (“ай-я-яй”), что означает 14 десятичных чисел в числе, откуда следует максимальное значение в 1,8 10308.

Замечание. Довольно часто случается так, что весьма простые десятичные дроби, такие как 0,1 или 0,7, не могут быть преобразованы во внутреннее двоичное представление без некоторой потери точности. Это довольно часто приводит к неожиданным на первый взгляд результатам. Например, вызов

floor ((0.1+0.7) * 10)

обычно возвращает не 8, как ожидается, а 7, поскольку внутреннее представление вещественного результата операции равно 7,9999999999...

Соседние файлы в папке ПвИ