将一个十进制转为16进制
在各种语言中其实都内置了类似这样的函数 列js
js中 十进制转 16进制
var a = 26;
a.toString(16); // "1a"
因此
a.toString(进制数);
hexadecimal 十六进制 ---> 十进制
parseInt('1a', 16); // 26
parseInt(13, 8); // 11
// 11 用8进制为13
原题:https://leetcode.com/problems/convert-a-number-to-hexadecimal/
不能使用语言自身的函数,自己写一个函数(十进制转16进制)
var toHex = function(num) {
if (num < 0) {
num = 4294967296 + num;
}
var hex = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
var otherNum = parseInt(num / 16);
var lastNum = (num % 16).toString();
if (otherNum <= 0) {
return hex[lastNum];
}
if (otherNum < 16) {
return hex[otherNum] + hex[lastNum];
}
return toHex(otherNum) + hex[lastNum];
};