JavaScript 中的 16 进制转换为 2 进制可以通过以下几种方法实现:
parseInt
和 toString
你可以先将 16 进制字符串转换为整数,然后再将整数转换为 2 进制字符串。
function hexToBinary(hex) {
// 将16进制字符串转换为整数
let decimal = parseInt(hex, 16);
// 将整数转换为2进制字符串
let binary = decimal.toString(2);
return binary;
}
console.log(hexToBinary('AB')); // 输出: 10101011
parseInt
的第二个参数parseInt
函数可以直接接受第二个参数指定转换的基数,从而一步到位地完成转换。
function hexToBinary(hex) {
return parseInt(hex, 16).toString(2);
}
console.log(hexToBinary('AB')); // 输出: 10101011
如果你需要手动进行转换,可以逐位将 16 进制字符转换为 2 进制。
function hexToBinary(hex) {
let binary = '';
for (let i = 0; i < hex.length; i++) {
let bin = parseInt(hex[i], 16).toString(2);
// 确保每个十六进制位都转换为四位二进制
while (bin.length < 4) {
bin = '0' + bin;
}
binary += bin;
}
return binary;
}
console.log(hexToBinary('AB')); // 输出: 10101011
parseInt
会返回 NaN
。可以通过正则表达式验证输入格式。function isValidHex(hex) {
return /^[0-9A-Fa-f]+$/.test(hex);
}
function hexToBinary(hex) {
if (!isValidHex(hex)) {
throw new Error('Invalid hexadecimal input');
}
return parseInt(hex, 16).toString(2);
}
通过上述方法,你可以有效地在 JavaScript 中进行 16 进制到 2 进制的转换,并处理可能出现的错误情况。
领取专属 10元无门槛券
手把手带您无忧上云