十进制转换成其他进制
- 使用 Number 的 toString 方法
Number 值的 toString() 方法返回数字值指定基数的字符串表示。
// 十进制转二进制
let decimalNumber = 42;
let binaryNumber = decimalNumber.toString(2);
console.log(binaryNumber); // 输出 "101010"
// 十进制转八进制
let octalNumber = decimalNumber.toString(8);
console.log(octalNumber); // 输出 "52"
// 十进制转十六进制
let hexadecimalNumber = decimalNumber.toString(16);
console.log(hexadecimalNumber); // 输出 "2a"
其他进制转换成十进制
- 使用 parseInt
parseInt(string, radix) 将其第一个参数转换为一个字符串,对该字符串进行解析,并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。
// 二进制转十进制
let binaryString = "101010";
let decimalFromBinary = parseInt(binaryString, 2);
console.log(decimalFromBinary); // 输出 42
// 八进制转十进制
let octalString = "52";
let decimalFromOctal = parseInt(octalString, 8);
console.log(decimalFromOctal); // 输出 42
// 十六进制转十进制
let hexadecimalString = "2a";
let decimalFromHexadecimal = parseInt(hexadecimalString, 16);
console.log(decimalFromHexadecimal); // 输出 42
自定义进制转换函数
// 自定义进制转换函数
function convertBase(number, fromBase, toBase) {
const decimalNumber = parseInt(number, fromBase); // 其他进制转换成十进制
return decimalNumber.toString(toBase); // 十进制转换成其他进制
}
// 使用自定义函数进行转换
let numberToConvert = "101010"; // 二进制
let result = convertBase(numberToConvert, 2, 16); // 二进制 转换为 十六进制
console.log(result); // 输出 "2a"