Skip to content

Instantly share code, notes, and snippets.

@robertmesserle
Last active December 20, 2015 12:59
Show Gist options
  • Save robertmesserle/6135020 to your computer and use it in GitHub Desktop.
Save robertmesserle/6135020 to your computer and use it in GitHub Desktop.
Tiny Base Conversion Method (up to base 16)
function convertToBase (number, base) {
var currentNumber = Math.floor(number / base),
remainder = number % base,
rightChar = '0123456789ABCDEF'.charAt(remainder),
leftStr = (currentNumber ? convertToBase(currentNumber, base) : '');
return leftStr + rightChar;
}
function convertFromBase (str, base) {
var rightChar = str.substr(-1),
rightVal = '0123456789ABCDEF'.indexOf(rightChar),
leftStr = str.slice(0, -1),
leftVal = leftStr ? convertFromBase(leftStr, base) : 0;
return base * leftVal + rightVal;
}
function convertToBase(number,base,cn){return ((cn=~~(number/base))?convertToBase(cn,base):'')+'0123456789ABCDEF'.charAt(number%base)}
function convertFromBase(str,b,ls){return b*((ls=str.slice(0,-1))?convertFromBase(ls,b):0)+'0123456789ABCDEF'.indexOf(str.substr(-1))}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment