Уроки PHP - урок 4 - Числовые переменные PHP

Числовые переменные PHP

На прошлом уроке мы разобрали строковые переменные, а сейчас давайте еще посмотрим на числовые переменные. Самый простой тип чисел это целые числа.

Целые числа в PHP

Целые числа это все числа из ряда [-2 147 483 648,...,-4,-3,-2,-1,0,1,2,3,4,...,2 147 483 647]  то есть от -2147483648 до 2147483647. Это ограничение потому что для кодирования целого числа уходит 32 бита.

Как и все другие переменные в PHP целые числа определяются простым присваиванием.

<?php
$x = 5;
$y = -8;
?>

Помимо привычных нам чисел в десятеричной системы, можно использовать и другие системы счисления (восьмеричную, шестнадцатеричную и др.)

<?php
$i = 456; // десятичное число
$i = -895; // отрицательное число
$i = 0121; // восьмеричное число (эквивалентно 81 в десятичной системе)
$i = 0x1B; // шестнадцатеричное число (эквивалентно 27 в десятичной системе)
?> 

Помимо целый чисел в PHP есть еще и дробные числа.

Дробные числа (float) в PHP

Дробные числа в PHP записываются в виде десятичных дробей:

$pi = 3.14;

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

$b = 3.2e5;
$c = 9E-11;

Дробные числа или как их еще называют числа с плавающей точкой (float point) занимают 64 бита памяти (заметьте, что это в два раза больше, чем целые числа).

Обычно дробные числа получаются в результате деления:

$a = 1/3;
print $a;

Результат будет:

0.333333333333

Также стоит заметь, что результат может быть не совсем очевиден:

$a = 1/3;
$a = $a*3;
print $a;

Результат будет не 0.999999999, а ровно 1.

Если бы вы сделаете тоже самое на калькуляторе (разделите 1 на 3 и умножите на 3), то у вас потеряется 1 миллионная или 1 миллиардная в зависимости точности калькулятора. PHP же сложно "обмануть", он запоминает действие над переменной и не потеряет ни доли результата.

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.