Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   нужна помощь в доработке программы.. (https://javascript.ru/forum/misc/72886-nuzhna-pomoshh-v-dorabotke-programmy.html)

Vados73 04.03.2018 20:29

нужна помощь в доработке программы..
 
..это моя первая программа на JS. Программа предназначена для перевода десятичных чисел в двоичные. Проблема возникает при вводе 0, 1, а также необходимо заполнять массив нолями чтобы данные выводились в формате хххх (четыре цифры), например: десятичная двойка должна выводиться в формате 0010. Заранее благодарю за помощь.
//Программа для перевода десятичных чисел в двоичные.. (с)
var number = prompt('Введите любое целое десятичное число:', ''); //Вводим любое целое десятичное число

var residue = number; //переменная для записи остатка от деления в массив
var quotient = number; //переменная для записи частного от деления на 2

var result = []; //создаем пустой массив для записи результата вычисления
    //if (quotient == 1) { //если введенное число равно 1
        //document.write('1') //выводим 1
    //} else { //..иначе
        do { //цикл вычисления двоичного числа    
            quotient /= 2;
            quotient = (Math.floor(quotient));
            residue = quotient;
            residue %= 2;
            result.push(residue); //записываем результат целочисленного деления в конец массива
        } while (quotient !== 1);
    //}
result.reverse();
    if (number %2 == 0) {
        result.push('0')    
    } else {
        result.push('1')
    }
//result.length;
//document.write(result.length)

a = result.join('');
document.write(a)

рони 04.03.2018 21:45

Программа для перевода десятичных чисел в двоичные..
 
Vados73,
<script>
function fn(number) {
    var result = [];
    while (number) {
        result.push(number % 2);
        number = Math.floor(number / 2);
    }
    result.reverse();
    result = "0000" + result.join("");
    result = result.slice(-4);
    return result;
}
for (var i = 0; i < 16; i++) {
    document.write(i + " => " + fn(i) + "<br>");
};

  </script>

j0hnik 04.03.2018 22:43

alert(20 .toString(2));

рони 04.03.2018 22:51

j0hnik,
:lol:

j0hnik 04.03.2018 22:53

рони,
:-?

рони 04.03.2018 22:57

j0hnik,
всё нормально, не переживай. :)

j0hnik 04.03.2018 22:58

что смешного? парню проще будет понять такую конструкцию

j0hnik 04.03.2018 23:04

если ему нужно таблицу вывести можно так же сделать

<script>
for(var i = 0; i<100; i++) document.write(i+'=>'+ i .toString(2)+'<br>');
</script>

рони 04.03.2018 23:14

j0hnik,
Цитата:

Сообщение от Vados73
var residue = number; //переменная для записи остатка от деления в массив05var quotient = number; //переменная для записи частного от деления на 2

(вангую) информатика, развитие навыка преобразования алгортима вычисления в код.

j0hnik 05.03.2018 02:41

в образовательных учреждениях мотивировать умеют (писать какую нибудь ерунду, которая итак уже есть)


Часовой пояс GMT +3, время: 15:46.