Показать сообщение отдельно
  #6 (permalink)  
Старый 24.07.2012, 15:03
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Хех, разобрал алгоритм на бумажке, ошибка заключалась в этом:
function toBIN( num ) {
    var out = "", bit = 1;
*!*
    while( num >= bit ) { // >=
*/!*
        out = ( num & bit ? 1 : 0 ) + out;
        bit <<= 1;
    }
    return out || "0";
}
alert( toBIN(4) );
function toDEC( dec ) {
    var out = 0, len = dec.length, bit = 1;
    while( len-- ) {
        out += dec[ len ] == "1" ? bit : 0;
        bit <<= 1;
    }
    return out;
}

alert( toDEC( '0100' ) );

Когда bit == 4, условие не выполнялось, и выводило тот результат, который был уже, а это: 00
__________________
оляля, ололо
Ответить с цитированием