为什么0154 === 108?

时间:2011-02-15 07:20:16

标签: javascript html

发生了什么here以及为什么?

document.write(0154); // === 108

4 个答案:

答案 0 :(得分:26)

以0开头的数字被视为八进制(基数为8)。

碱基8 =碱基10 [108]

但是如果你使用了一个8或9的数字你就不会看到这个问题,因为8和9都不是八进制数字。

答案 1 :(得分:12)

0154是八进制。 1 * 64 + 5 * 8 + 4 = 108。

答案 2 :(得分:1)

八进制数。 八进制= 0154&十进制是= 108

答案 3 :(得分:0)

它打印出你写的八进制等效值,因为它从0开始。试试 0001(打印输出1),0010(打印输出8),0011(打印输出9)