Почему выход к этому 20, а не 22? Видя, как вы добавляете 10 + 0xA (который 10 в HEX) + 2.PHP: Почему ответ на это дополнение 20, а не 22?
$a = 010;
$b = 0xA;
$c = 2;
print $a + $b + $c;
Output: 20.
Почему выход к этому 20, а не 22? Видя, как вы добавляете 10 + 0xA (который 10 в HEX) + 2.PHP: Почему ответ на это дополнение 20, а не 22?
$a = 010;
$b = 0xA;
$c = 2;
print $a + $b + $c;
Output: 20.
Это правильно!
(Потому что первый номер octal
так что если вы хотите, чтобы быть интерпретированы как десятичное вы должны удалить первую 0) Se:
$a = 010; //Octal -> 8
$b = 0xA; //Hex -> 10
$c = 2; //Dec -> 2
print $a + $b + $c; //20
Выход:
20
О, как я пропустил Восьмая часть. Спасибо!! –
@ StephenFox Добро пожаловать! Хороший день: D – Rizier123
Чтобы использовать восьмеричную систему счисления, предшествуют число 0 (ноль). Для использования шестнадцатеричной нотации предшествует номер с 0x. Для использования двоичной нотации предшествует номер с 0b.
010
является восьмеричным числом (он начинается с 0
, которая не сопровождается десятичной точкой), которая находится в десятичной системе 8
.
Этот будет решаться:
<?php
$a = 10;
$b = 0xA;
$c = 2;
print $a + $b + $c;
?>
0 ведущий поставщик $ a был поставлен как значение Octal, а не десятичное.
октябрь + HEx + dec Проверить прямо сейчас! – Tushar
Ни один из ответов не связан с документами по обработке целочисленного кода PHP, поэтому [здесь вы ...] (http://php.net/manual/en/language.types.integer.php) –