使用JavaScript进行进制转换将字符串转换为十进制

1.将数字转换成十进制

parseInt(res,x);
将任意进制字符串转换为十进制,x为如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制;

var res=10001;
parseInt(res,2);//res为二进制,将res转换成十进制进制
parseInr(res,16)//res为十六进制,将res转换成十进制进制

2.将字符反转

arr.split(“”).recerse().join(“”);
将字符串进行反转。split为分割函数,join为连接函数

3.将十进制数字n转换成n进制

Object.toString(n) : 即可 (n) 表示进制,将10进制转换为2进制,八进制,十六进制字符串

ps: Javascript支持最大进制是36 (26个英文字母 + 10个数字)
35.toString(36) // “z” : 支持最大编码”Z”, 不区分大小写

4.在转换过程中需要补齐
参数num为需要补齐的数字,len为需要补齐的总位数

function format(num,len){
    var l=num.length;
    if(num.length<len){
        for(var i=0;i<len-l;i++){
            num="0"+num;
        }
    }
    return num;
}

题目:190. Reverse Bits
Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in binary as 00000010100101000001111010011100),
return 964176192 (represented in binary as 00111001011110000010100101000000).

源码js:

/**
 * @param {number} n - a positive integer
 * @return {number} - a positive integer
 */
var reverseBits = function(n) {
    var a=n.toString(2);
    var temp=format(a,32);
    //console.log(temp);
    var res1=temp.split("").reverse().join("");
    var res=format(res1,32);
    //console.log(temp,res1,parseInt(res,2));
    return parseInt(res,2);
};


function format(num,len){
    var l=num.length;
    if(num.length<len){
        for(var i=0;i<len-l;i++){
            num="0"+num;
        }
    }
    return num;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值