如题
在和硬件设备的交互过程中,收到硬件传递回来的一个16进制的数字,低位在前,高位在后,如何优雅的解析为正确的10进制数据呢
//举例 16进制的一个数据
var num=0x12345678
//因为低位在前,高位在后,正确解析后是
num=0x78563412
//转换成10进制是
num=2018915346
目前的处理方式:
把num按照长度切割,然后通过for循环调换前后顺序,最后parseInt转换为10进制,实现了目的,直觉这个方式肯定不合理,求更标准的做法思路
迷茫2017-05-19 10:33:47
上面那种有问题,根据楼主的意思,正确的写法如下:
function translate(num){
return parseInt('0x' + num.match(/\d{2}/g).reverse().join(''), 16);
}
translate('0x12345678'); //2018915346