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 进制的转换,并处理可能出现的错误情况。
题目来源 牛客网首页 > 试题广场 > 进制转换 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 题目描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示...示例1 输入 0xA 输出 10 参考代码 // 链接:https://www.nowcoder.com/questionTerminal/8f3df50d2b9043208c5eed283d1d4da6...+c-88+1; if(c>=65 && c16+c-56+1; if(c>=48 && c16+c-48; } cout<<s; return...此时,如果用 cout< 试题广场 > 进制转换 ASCII码表 C++ cout利用控制符dec、hex和oct,分别输出十进制、十六进制和八进制显示整数
领取专属 10元无门槛券
手把手带您无忧上云