Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.03.2018, 20:29
Новичок на форуме
Отправить личное сообщение для Vados73 Посмотреть профиль Найти все сообщения от Vados73
 
Регистрация: 16.01.2018
Сообщений: 2

нужна помощь в доработке программы..
..это моя первая программа на 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)
Ответить с цитированием
  #2 (permalink)  
Старый 04.03.2018, 21:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

Программа для перевода десятичных чисел в двоичные..
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>
Ответить с цитированием
  #3 (permalink)  
Старый 04.03.2018, 22:43
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

alert(20 .toString(2));
Ответить с цитированием
  #4 (permalink)  
Старый 04.03.2018, 22:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

j0hnik,
Ответить с цитированием
  #5 (permalink)  
Старый 04.03.2018, 22:53
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

рони,
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2018, 22:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

j0hnik,
всё нормально, не переживай.
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2018, 22:58
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

что смешного? парню проще будет понять такую конструкцию
Ответить с цитированием
  #8 (permalink)  
Старый 04.03.2018, 23:04
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

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

<script>
for(var i = 0; i<100; i++) document.write(i+'=>'+ i .toString(2)+'<br>');
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 04.03.2018, 23:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

j0hnik,
Сообщение от Vados73
var residue = number; //переменная для записи остатка от деления в массив05var quotient = number; //переменная для записи частного от деления на 2
(вангую) информатика, развитие навыка преобразования алгортима вычисления в код.
Ответить с цитированием
  #10 (permalink)  
Старый 05.03.2018, 02:41
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь в доработке калькулятора. kostarikano Ваши сайты и скрипты 1 19.12.2015 23:41
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
Нужна помощь в доработке скрипта zonkon Общие вопросы Javascript 10 24.10.2013 15:49
Нужна помощь по доработке скрипта отсчета времени tavrik83 Общие вопросы Javascript 3 26.03.2013 18:22
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17