我很想知道javascript中.toString(16)
的源代码因为我想检查dec代码如何转换为十六进制代码的逻辑?
答案 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;
}