如题在和硬件设备的交互过程中,收到硬件传递回来的一个16进制的数字,低位在前,高位在后,如何优雅的解析为正确的10进制数据呢//举例 16进制的一个数据var num=0x12345678//因为低位在前,高位在后,正确解析后是num=0x78563412//转换成10进制是num=2018915346目前的处理方式:把num按照长度切割,然后通过for循环调换前后顺序,最后parseInt转换为10进制,实现了目的,直觉这个方式肯定不合理,求更标准的做法思路
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
上面那种有问题,根据楼主的意思,正确的写法如下:
function translate(num){
return parseInt('0x' + num.match(/\d{2}/g).reverse().join(''), 16);
}
translate('0x12345678'); //2018915346
添加回答
举报
0/150
提交
取消