进制转换

2017-12-06  本文已影响0人  飞飞廉

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))

上一篇下一篇

猜你喜欢

热点阅读