需要判断有没有负号,有负号拿有负号的值,没负号就拿正常的的值,
例如c4转换后为-60,格式就是像c4这样的,全是两位的
小弟在这里先感谢各位大神们,感激不尽,祝大神们发财祝大神们取漂亮老婆
需要判断有没有负号,有负号拿有负号的值,没负号就拿正常的的值,
例如c4转换后为-60,格式就是像c4这样的,全是两位的
小弟在这里先感谢各位大神们,感激不尽,祝大神们发财祝大神们取漂亮老婆
其实问gpt然后调试下就好啦
function hexToDecimal(hexStr) {
// 将十六进制字符串转为整型数值
var num = parseInt(hexStr, 16);
// 如果是负数,则转换为对应的负数
if ((num & 0x80) === 0x80) {
num = -(0x100 - num);
}
return num;
}
var hexStr = 'c4';
var decimal = hexToDecimal(hexStr);
console.log(decimal); // -60
function hexc2dec(hexc) {
// 将16进制补码转换为10进制补码
const intc = parseInt(hexc, 16);
// 如果最高位为1,表示负数
if (intc & (1 << (hexc.length * 4 - 1))) {
return intc - (1 << (hexc.length * 4));
}
return intc;
}
10 回答11k 阅读
6 回答2.9k 阅读
5 回答4.7k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答5k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
都是 int8 呗?那直接位移更简洁一些:
可以直接简化成:
应该不会有比这个更简便更高效的写法了。