主题:多字节十六进制转为十进制
ziyouxiaocong
[专家分:0] 发布于 2012-05-17 16:27:00
求赐教,怎样取一列十六进制数中的某几位取出转换为十进制,如,01 00 00 03 07 1E 00 A3 03 7E 00 00
,取出 07 1E 00 A3 转换成十进制存入txt文档。谢谢!! 注:数据间实际无空格,只是调试助手十六进制显示成这样的。
回复列表 (共1个回复)
沙发
6fone [专家分:30] 发布于 2012-05-29 10:31:00
考虑如何从十进制整数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最后取模得的结果是十进制形式的了
这只是一种方法
我来回复