нужна помощь в доработке программы..
..это моя первая программа на 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)
|
Программа для перевода десятичных чисел в двоичные..
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>
|
alert(20 .toString(2)); |
j0hnik,
:lol: |
рони,
:-? |
j0hnik,
всё нормально, не переживай. :) |
что смешного? парню проще будет понять такую конструкцию
|
если ему нужно таблицу вывести можно так же сделать
<script> for(var i = 0; i<100; i++) document.write(i+'=>'+ i .toString(2)+'<br>'); </script> |
j0hnik,
Цитата:
|
в образовательных учреждениях мотивировать умеют (писать какую нибудь ерунду, которая итак уже есть)
|
Цитата:
|
Цитата:
var n, m = [], b = '';
if(n = prompt('Number')) {
if(n > 1) {
for(var i = k = 0; k < n; i++) {
k = Math.pow(2, i);
m.push(k);
}
m.pop();
while(i = m.pop()) b += n >= i ? (n -= i, 1) : 0;
} else b = n;
alert(b)
}
В основе то всего, включая и toString(), обычная бинарная логика. А двоичное представление имеет еще и множество форматов, к примеру двоично-десятичный, который используется сплошь и рядом, к примеру в часах. Ну-ка попробуйте перевести десятичное в двоично-десятичное представление используя toString(). ;) |
<script>
// Это же JS тут все просто и понятно =)
var i=0,s='';
NumToBinStr=n=>{var i=0,s='';while(s+=n&1<<i++?1:0,i<31);return s};
while ( s+=i+'>>'+NumToBinStr(i)+'<br>',i++<954);
document.write (s);
</script>
|
| Часовой пояс GMT +3, время: 02:22. |