10进制转16进制,长度不足左侧补0

十进制转16进制

// 10进制转16进制补0
/**
* @params dec 待转换的10进制
* @params len 转换后的16进制长度,不足的左侧补0
*/
function dec2hex(dec, len) {
    
    //10进制转16进制补0
      var hex = "";
      while( dec ) {
    
    
          var last = dec & 15;
          hex = String.fromCharCode(((last>9)?55:48)+last) + hex;
          dec >>= 4;
      }
      if(len) {
    
    
          while(hex.length < len) hex = '0' + hex;
      }
      return hex;
}

16进制转10进制

// 10进制转16进制补0
function string_hex2int(hex) {
    
    //16进制转10进制
    var len = hex.length, a = new Array(len), code;
    for (var i = 0; i < len; i++) {
    
    
        code = hex.charCodeAt(i);
        if (48<=code && code < 58) {
    
    
            code -= 48;
        } else {
    
    
            code = (code & 0xdf) - 65 + 10;
        }
        a[i] = code;
    }
    
    return a.reduce(function(acc, c) {
    
    
        acc = 16 * acc + c;
        return acc;
    }, 0);
  }

猜你喜欢

转载自blog.csdn.net/fth1002853070/article/details/131159570
今日推荐