Показать сообщение отдельно
  #2 (permalink)  
Старый 14.12.2016, 20:01
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Надо проверить, будет ли переведённое в десятичную систему число равно самому себе, если его обратно перевести в ту же систему счисления.

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Перевод из одной системы счисления в другую</title>
        <meta http-equiv="X-UA-Compatible" content=" IE=edge, chrome=1">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
    </head>
    <body>
    <form>
        Перевести <input type="text" name="num" size="8">
        из системы <input type="text" name="base_from" size="8" value="2">
        в систему <input type="text" name="base_to" size="8" value="2">
        <input type="button" value=" = " onclick="convert(this.form)"> 
        <input type="text" name="amount" size="15"> 
    </form>
    <script>

    function convert(form) {
        //получаем данные из поле ввода, преобразуя их в Integer
        base_from = parseInt(form.base_from.value);
        base_to = parseInt(form.base_to.value);

        //преобразуем данные по основанию base_from в десятичную систему
        num = parseInt(form.num.value, base_from);

        if(num.toString(base_from) !== form.num.value) {
            form.amount.value = "#ERROR";
            throw new RangeError("Invalid number");
        }

        //преобразуем данные из десятичной в систему по указанному основанию base_to
        amount = num.toString(base_to);

        //выводим результат
        form.amount.value = amount
    }
        </script>
    </body>
</html>
Ответить с цитированием