为什么输出到20,而不是22?看到你正在添加10 + 0xA(十六进制中为10)+2。
$a = 010;
$b = 0xA;
$c = 2;
print $a + $b + $c;
Output: 20.
答案 0 :(得分:21)
这是对的!
(因为第一个数字是octal
所以如果你想把它解释为小数,你必须删除第一个数字0)
硒
$a = 010; //Octal -> 8
$b = 0xA; //Hex -> 10
$c = 2; //Dec -> 2
print $a + $b + $c; //20
输出:
20
答案 1 :(得分:3)
要使用八进制表示法,请在数字前面加上0(零)。要使用十六进制表示法,请在数字前面加上0x。要使用二进制表示法,请在数字前加上0b。
010
是一个八进制数(以0
开头,后面没有小数点),小数为8
。
答案 2 :(得分:1)
这将解决:
<?php
$a = 10;
$b = 0xA;
$c = 2;
print $a + $b + $c;
?>
领先于$ a的0是一个八进制值,而不是十进制值。