javascript 32位以内进制转换

function SA(number,jinzhi){
    var san=number;
    if(jinzhi == 1 || jinzhi ==10){
        return san+"转"+jinzhi+"进制结果为:"+number
    }
    var reslut = [ ],characterArray=[],prev="";
    while(parseInt(number / jinzhi) >= 1){
        if(number % jinzhi == 0){
            reslut.push(0);
        }
        if(number % jinzhi !=0){
            reslut.push(number%jinzhi);
        }
        number = parseInt(number / jinzhi);
    }
    reslut.push(number % jinzhi) ;

    console.log("转换后各个位数分别为:"+reslut.reverse())

    for(var i=65;i<91;i++){
        characterArray.push(String.fromCharCode(i));
    }
    if(jinzhi >9 && jinzhi<36){
        for(var m=0;m<reslut.length;m++){
            for(var j=0;j<26;j++){
                if(reslut[m] == 10){
                    reslut[m] = characterArray[0];
                }else if(reslut[m] == 11){
                    reslut[m] = characterArray[1];
                }else if(reslut[m] == 12){
                    reslut[m] = characterArray[2];
                }else if(reslut[m] == 13){
                    reslut[m] = characterArray[3];
                }else if(reslut[m] == 14){
                    reslut[m] = characterArray[4];
                }else if(reslut[m] == 15){
                    reslut[m] = characterArray[5];
                }else if(reslut[m] == 16){
                    reslut[m] = characterArray[6];
                }else if(reslut[m] == 17){
                    reslut[m] = characterArray[7];
                }else if(reslut[m] == 18){
                    reslut[m] = characterArray[8];
                }else if(reslut[m] == 19){
                    reslut[m] = characterArray[9];
                }else if(reslut[m] == 20){
                    reslut[m] = characterArray[10];
                }else if(reslut[m] == 21){
                    reslut[m] = characterArray[11];
                }else if(reslut[m] == 22){
                    reslut[m] = characterArray[12];
                }else if(reslut[m] == 23){
                    reslut[m] = characterArray[13];
                }else if(reslut[m] == 24){
                    reslut[m] = characterArray[14];
                }else if(reslut[m] == 25){
                    reslut[m] = characterArray[15];
                }else if(reslut[m] == 26){
                    reslut[m] = characterArray[16];
                }else if(reslut[m] == 27){
                    reslut[m] = characterArray[17];
                }else if(reslut[m] == 28){
                    reslut[m] = characterArray[18];
                }else if(reslut[m] == 29){
                    reslut[m] = characterArray[19];
                }else if(reslut[m] == 30){
                    reslut[m] = characterArray[20];
                }else if(reslut[m] == 31){
                    reslut[m] = characterArray[21];
                }else if(reslut[m] == 32){
                    reslut[m] = characterArray[22];
                }else if(reslut[m] == 33){
                    reslut[m] = characterArray[23];
                }else if(reslut[m] == 34){
                    reslut[m] = characterArray[24];
                }else if(reslut[m] == 35){
                    reslut[m] = characterArray[25];
                }
            }
        }

    }
    for(var t=0;t<reslut.length;t++){
         prev = prev + reslut[t];
    }
    return san+"转"+jinzhi+"进制结果为:"+prev;
}
console.log(SA(666,32))

以上是十进制转32位以内进制。
相关结果:
这里写图片描述
以下包含各进制之间相互转换。

function TA(number,tenToOther,otherToTen,OtherTo,ToOther){
    //十进制转其他  
    var ten = "十进制" + number + "转" + tenToOther + "进制:"  + number.toString(tenToOther);
    //其他转十进制  
    var otherten = otherToTen + "进制" + number  + "转十进制:"  + parseInt(number.toString(),otherToTen);
    //其他转其他  
    var other = OtherTo + "进制" + number + "转"  + ToOther + "进制:"  + parseInt(number.toString(),OtherTo).toString(ToOther);

    return ten + "\n" + otherten + "\n" + other;
}
console.log(TA(110,16,2,16,8));

相关结果:
这里写图片描述

各位大佬如有更好的方法,恳请留言———
如有错误,恳请指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值