Показать сообщение отдельно
  #1 (permalink)  
Старый 01.01.2015, 17:50
Новичок на форуме
Отправить личное сообщение для helloterry8 Посмотреть профиль Найти все сообщения от helloterry8
 
Регистрация: 27.12.2014
Сообщений: 4

Ошибка в алгоритме перевода из десятичной в 2, 8, 16 систему счисления
Помогите найти ошибку в алгоритме перевода из 10 в 2, 8, 16 системы счисления
function translate1() {
            var chislo = document.getElementById('chislo').value; // присвоение данных переменной
            var vhod = document.getElementById('vhod').value;
            var vihod = document.getElementById('vihod').value;
            var result = "", r;
            if (vihod == 2 || vihod == 8 || vihod == 16) {
                if (vhod == 10) {
                    while (chislo > 0) {
                        r = chislo % vihod; // остаток от деления, % - оператор возвращает значение остатка при делении первого операнда на второй
                        if (r == 10) { r = "A"; }
                        if (r == 11) { r = "B"; }
                        if (r == 12) { r = "C"; }
                        if (r == 13) { r = "D"; }
                        if (r == 14) { r = "E"; }
                        if (r == 15) { r = "F"; }
                        chislo = Math.floor(chislo); // возвращает наибольшее целое, меньшее или равное аргументу
                        chislo = chislo / vihod;
                        result = r + result;
                    }
                    alert('Ваш результат - ' +result, '');
                }
            }

Последний раз редактировалось helloterry8, 01.01.2015 в 18:10.
Ответить с цитированием