@DrWebFree

Почему получился бесконечный цикл?

Вот код:
<html>
 <head>
  <meta charset="UTF-8">
  <title>Системы счисления</title>
 </head>
 <body>
    <script type="text/javascript">
     function per(){
      var d;
      var s;
      var a = document.getElementById("1").value;
      while(a != 1){
       d = a%2;
       s = ""+s+d;
       a = a/2;
      }
      document.getElementById("2").innerHTML = s;
     }
    </script>
    <input type="text" id="1"><button onclick="per()">вычислить</button>
    <p id="2"></p>
 </body>
</html>

По идее это перевод из 10-ичной в 2-ичную систему счисления, но при нажатии кнопки, она нажимается и остаётся нажатой, как при бесконечном цикле
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Очевидно, потому что переменная a никак не может принять значение, равное единице. Начните с 7, например. Сколько раз надо 7 разделить на 2, чтобы получить 1? Вот-вот.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Nc_Soft
Чтобы перевести в двоичную из десятичной достаточно сделать так
13..toString(2);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы