js中toString(16)的源代码是什么?

时间:2016-02-12 10:08:23

标签: javascript jquery

我很想知道javascript中.toString(16)的源代码因为我想检查dec代码如何转换为十六进制代码的逻辑?

1 个答案:

答案 0 :(得分:1)

Base := 16
HexNumber := ""
while(DecNumber > 0) {
    HexNumber := Concat(DecNumber % Base, HexNumber)
    DecNumber := Floor(DecNumber / Base)
}

适用于任何基地。在十六进制中,显然你必须将10+转换为A-F。

编辑:这是javascript中的一个版本:

function toBaseString(base, decNumber) {
    var hexNumber = '';
    while(decNumber > 0) {
        var hexDigit = decNumber % base;
        if(hexDigit >= 10) {
            hexDigit = String.fromCharCode(hexDigit + 87);
        }
        hexNumber = hexDigit + hexNumber;
        decNumber = Math.floor(decNumber / base);
    }
    return hexNumber;
}