Number Conversion in JavaScript
JavaScript provides built-in methods for common base conversions.
parseInt() - String to Number
// Parse with specific base (radix)
parseInt('1010', 2); // 10 (binary to decimal)
parseInt('FF', 16); // 255 (hex to decimal)
parseInt('777', 8); // 511 (octal to decimal)
toString() - Number to String
const num = 255;
num.toString(2); // "11111111" (binary)
num.toString(8); // "377" (octal)
num.toString(16); // "ff" (hex)
Combining for Conversion
// Binary to Hex
function binaryToHex(binary) {
return parseInt(binary, 2).toString(16);
}
binaryToHex('11111111'); // "ff"
// Any base to any base
function convertBase(value, fromBase, toBase) {
return parseInt(value, fromBase).toString(toBase);
}
convertBase('ff', 16, 2); // "11111111"
Handling Large Numbers
For numbers larger than 2^53, use BigInt:
const big = BigInt('0xFFFFFFFFFFFFFFFF');
big.toString(2);
// "1111111111111111111111111111111111111111111111111111111111111111"