object.toString([radix])
object 转换对象,radix 要转换为的进制
parseInt(object, [radix])
object 必选项,转换对象
radix 可选项,表示 object 的进制,范围为 2 - 36;如果缺少 radix,则以 0x 开头的字符串转换为十六进制,以 0 开头的字符串转换为八进制,其它字符串都转换十进制。
2进制
2进制转16进制
let code = 10111100;
console.log(code.toString(16));
2进制转10进制
let code = 110;
console.log(parseInt(code, 2));
2进制转8进制
let code = 10111100;
console.log(code.toString(8));
8进制
8进制转16进制
let code = 032;
console.log(code.toString(16));
8进制转10进制
let code = 032;
console.log(code.toString(10));
8进制转2进制
let code = 032;
console.log(code.toString(2));
10进制
负10进制转16进制(大写)-------如果不合适可以看工具方法
let code = -58827693;
console.log(code);
code = ~code;
console.log(code);
console.log(code.toString(16).toLocaleUpperCase());
10进制转16进制 (大写)
let code = 58827693;
console.log(code);
console.log(code.toString(16).toLocaleUpperCase());
10进制转8进制
let code = 7;
console.log(code.toString(8));
10进制转2进制
let code = 7;
console.log(code.toString(2));
16进制
16进制转10进制
let code = 0xAC;
console.log(code.toString(10));
console.log(parseInt(code, 10));
let code = 0xAC;
console.log(code.toString(8));
let code = 0xAC;
console.log(code.toString(2));
工具方法
/**
* 10进制(负数) 转 16进制
* @param n(string)
* @return string
*/
function decToHex(n) {
return (parseInt(n, 10) >>> 0).toString(16).toLocaleLowerCase()
}
/***
* 长度不够补0
* @param src(string)
* @param n(number)
*/
function strPad(src, n) {
let len = src.toString().length
while (len < n) {
src = "0" + src
len++
}
return src
}
// 测试10进制(负数) 转 16进制
let aCode = -58827693
console.log(decToHex(aCode).toLocaleUpperCase()) // FC7E5C53
// 测试长度不够补0
let bCode = 111
console.log(strPad(bCode, 10)) // 0000000111