1、十进制转换成二进制
思路:采用堆栈的后进先出的思路,每次除2。把余数存入堆栈,最后倒着输出即可
function twoConverter(decNUmber){
var res=[];
var baseString='';
var rem;
while(decNUmber>0){
rem=decNUmber%2;
res.push(rem);
decNUmber=Math.floor(decNUmber/2);
}
while(res.length!==0){
baseString+=res.pop().toString();
}
return baseString;
}
console.log(baseConverter(1023));
2、十进制转换成任意进制
思路:
和住哪换成二进制一个意思,主要是不是把余数直接存入,而是先列出一个字符串,存相应位置的字符串。
function baseConverter(decNUmber,base){
var res=[];
var baseString='';
var rem;
var digits='0123456789ABCDEF';
while(decNUmber>0){
rem=decNUmber%base;
res.push(digits[rem]);
decNUmber=Math.floor(decNUmber/base);
}
while(res.length!==0){
baseString+=res.pop();
}
return baseString;
}
console.log(baseConverter(10,3))
网友评论