Помогите найти ошибку в алгоритме перевода из 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, '');
}
}