查找十进制编码十六进制值的正确公式

Pla*_*ort 3 delphi math hex

我在这里有一个案例,我试图找出如何将十六进制数转换为十进制数.

我之前有类似的情况,但发现如果我颠倒了十六进制字符串,并交换了每个第二个值(little-endian),然后将其转换回十进制值,我得到了我想要的,但这个是不同的.

这是我们收到的价值观

价值nr.1是Dec:1348916578 Hex:0a66ab46

我现在只有一个十进制/十六进制,但我想获得更多的值来比较结果.

我希望那里的任何数学天才都能看到这里可能使用的公式:)

谢谢

Bar*_*lly 11

1348916578
= 5    0    6    6     D    5    6    2 hex
= 0101 0000 0110 0110  1101 0101 0110 0010

0a66ab46
= 0    A    6    6     A    B    4    6 hex
= 0000 1010 0110 0110  1010 1011 0100 0110
Run Code Online (Sandbox Code Playgroud)

所以,如果数字是这样的,则以十六进制数字表示:

AB CD EF GH
Run Code Online (Sandbox Code Playgroud)

那么可能的转换是:

rev(B) rev(A) rev(D) rev(C) rev(F) rev(E) rev(H) rev(G)
Run Code Online (Sandbox Code Playgroud)

其中rev反转半字节中的位顺序; 虽然我可以看到逆转也可以在逐字节的基础上完成.