HEX的编码类型

时间:2014-03-08 20:15:15

标签: c++ c hex decode encode

这是一个编码的内存地址

9867640 

实际十六进制地址(已解码):

0x969178

它是如何编码的? ..我试过ascii但似乎不喜欢它

3 个答案:

答案 0 :(得分:4)

这与编码无关。

第一个字符串显示十进制系统中的值(基数为10),第二个字符串显示十六进制系统中的值(基数为16,如0x所示)。

答案 1 :(得分:4)

这不是编码而是代表性。

第一个是十进制(BASE 10)表示
9867640 = 9 8 6 7 6 4 0 = 9 x10 ^ 6 + 8 x10 ^ 5 + 6 x10 ^ 4 + 7 x10 ^ 3 + 6 x10 ^ 2 + 4 x10 + 0 x10 ^ 0

第二个是十六进制(BASE 16)表示
0x969178 = 9 6 9 1 7 8 = 9 x16 ^ 5 + < / strong> 6 x16 ^ 4 + 9 x16 ^ 3 + 1 x16 ^ 2 + 7 x16 + 8 x16 ^ 0

答案 2 :(得分:0)

为了从十六进制基数移到十进制基数,你只需将每个数字乘以16 ^ n,

当n是数字中数字的“位置”时(从0开始)。

0x969178变为8 * 16 ^ 0 + 7 * 16 ^ 1 + 1 * 16 ^ 2 + ...