Перевод числа из десятичной системы счисления в любую другую и обратно07 Янв.

Перевод числа из десятичной системы счисления в любую другую и обратно.


var abc="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");//Набор символов который будет использоваться в системе счисления
//Перевод числа из любой системы счисления в десятичную
function ToNum(a,b){// Аргументы: строка, система счисления 
	var n = 0;
	var mas = abc.slice(0,b);
	a = String(a);
	for(var i = 0;i < a.length;i++){
		n = n +(mas.indexOf(a.substr(a.length-i-1,1))*Math.pow(b,i));
	}
	return n;
}

function StrReverse(s){// Функция переворачивающая слово
    return s.split("").reverse().join("");
}
//Перевод числа из десятичной системы счисления в любую другую
function ToStr(a,cc){// Аргументы: число, система счисления 
	var s = "";
	var mas = abc.slice(0,cc);
	while(a > 0){//Цикл до тех пор пока A не будет меньше нуля
		s = String(s) + mas[a%cc];//Записываем символ 
		a = Math.floor(a/cc);//Делим без остатка 
	}
	return StrReverse(s);//Выводим результат задом наперед 
}

Пример:

Перевод из 16ой в 10ую и обратно:
ToNum("5a3",16) = 1443
ToStr("1443",16) = 5a3

И не забудь поделиться (: