回 帖 发 新 帖 刷新版面

主题:多字节十六进制转为十进制

求赐教,怎样取一列十六进制数中的某几位取出转换为十进制,如,01 00 00 03 07 1E 00 A3 03 7E 00 00 
,取出 07 1E 00 A3 转换成十进制存入txt文档。谢谢!!  注:数据间实际无空格,只是调试助手十六进制显示成这样的。

回复列表 (共1个回复)

沙发

考虑如何从十进制整数a=589437021中取出9437.十进制权重R=10,首先,用a/Math.pow(R,3)得到b=589437,已经去除最后3位,再用b%Math.pow(R,4)得到b除以10000的余数9437,就是想要的
对于十六进制数a=0x01 00 00 03 07 1E 00 A3 03 7E 00 00,权重R=16,操作类似,就可以取得07 1E 00 A3,而且十六进制数运算就自动转换成十进制数了,不用单独考虑07 1E 00 A3转换成十进制,也就是07 1E 00 A3最后取模得的结果是十进制形式的了
这只是一种方法

我来回复

您尚未登录,请登录后再回复。点此登录或注册