Decimal to Binary Converter
by verashn
JavaScript
var NumberConverter = (function() {
// get highest power of 2 that fits within n
var getHighestPower2 = function (n) {
var maxPower = 0,
temp = 0;
// determine highest N that fits
while (temp < n) {
temp = Math.pow(2, maxPower);
// stop the loop and get return the previous power
if (temp > n) {
maxPower--;
break;
}
maxPower++;
}
return maxPower;
};
var decimalToBinary = function (n) {
var maxPower = 0,
temp = n,
binary = '';
maxPower = getHighestPower2(n);
while (maxPower >= 0) {
if (temp >= Math.pow(2, maxPower)) {
temp = temp - Math.pow(2, maxPower);
binary += '1';
} else {
binary += '0';
}
maxPower--;
}
return binary;
};
return {
decimalToBinary: decimalToBinary
};
}());
var testCase = 3161;
console.log(NumberConverter.decimalToBinary(testCase));
console.log(testCase.toString(2));