2013-09-22 2 views
1

Только странный вопрос не совсем уверен, как спросить и не найти ответ на мой вопрос, поэтому просим здесь. К сожалению, это странно и немой вопрос, но я просто дурачиться набрав произвольный код:console.logging номера, начинающиеся с 0

var thing=prompt("what number?"); 
    if(thing<100) 
{ 
    console.log(001001001); 
} 
    else 
{ 
    console.log(0101001); 
} 

Я действительно сделал это без причины и не служит никакой логической purpose.Its смешно, потому что когда я печатаю console.log (001001001) редактор, который я использую, даже говорит, что не используйте дополнительные ведущие 0s. Почему 001001001 выходит как 262657, а 0101001 печатает 33281 и так далее? Мне просто любопытно, и я не мог найти это нигде в google или stackoverflow.

ответ

1

Префикс 0 означает, что ваши целые литералы выражены как восьмеричные. Simiarly 0x будет означать, что число будет шестнадцатеричным. See more information here.

+0

Какой пример использования восьмеричного в js? –

+1

@jharclerode: Вам не нужно использовать восьмеричную в JS или где-нибудь еще, если на то пошло. То же самое относится к десятичным, двоичным и шестнадцатеричным. Обозначения «ведущие 0» и «ведущие 0x» взяты из (AFAIK) C и в C, бит-скрининг часто более удобен в восьмеричном или шестнадцатеричном виде. Октал - это в основном исторический артефакт в JavaScript. –

Смежные вопросы