这是一个编码的内存地址
9867640
实际十六进制地址(已解码):
0x969178
它是如何编码的? ..我试过ascii但似乎不喜欢它
答案 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 + ...