vue/uniapp中,如何将十六进制字符串转换成有符号 2 补码中的十进制?
需要判断有没有负号,有负号拿有负号的值,没负号就拿正常的的值,
例如c4转换后为-60,格式就是像c4这样的,全是两位的
小弟在这里先感谢各位大神们,感激不尽,祝大神们发财祝大神们取漂亮老婆
回复
1个回答

test
2024-06-27
都是 int8 呗?那直接位移更简洁一些:
function hex2dec_int8(hex) {
const BITS = 8;
const dec = parseInt(hex, 16);
return 0x80000000 >> (32 - BITS) | dec;
}
console.log(hex2dec_int8('c4'));
可以直接简化成:
const hex2dec_int8 = (hex) => -128 | parseInt(hex, 16);
console.log(hex2dec_int8('c4'));
应该不会有比这个更简便更高效的写法了。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容