Ответы пользователя по тегу Системы счисления
  • Почему в консоли при записи числа с нулем спереди возвращается число в восьмеричной системе?

    zendor
    @zendor
    Да вы все правильно поняли, используйте предикаты (0b - двоичный, 0o - восьмеричный, 0x - шестнадцатеричный),
    в строгом режиме (начиная с ES5) вообще запрещено использовать восьмеричный литерал без предиката:
    function foo() {
      "use strict";
      0321;
    }
    //Uncaught SyntaxError: Octal literals are not allowed in strict mode.

    А происходит это потому, что согласно спецификации все числа с ведущими нулями расцениваются как числа в восьмеричной системе счисления (только не в строгом режиме, см. выше), скорее всего такое поведение было унаследовано от C/C++.
    Ответ написан
    Комментировать