【问题标题】:Encoding type of HEX [closed]HEX的编码类型[关闭]
【发布时间】:2023-03-26 19:36:02
【问题描述】:

这是一个编码的内存地址

9867640 

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

0x969178

它是如何编码的? ..我试过ascii,但看起来不像

【问题讨论】:

  • 是什么让您认为它是“编码”的?它来自哪里?
  • 看起来十进制相当于十六进制“解码”值..
  • 这个问题似乎是题外话,因为它是关于 OP 的基本误解。

标签: c++ c hex decode encode


【解决方案1】:

这与编码无关。

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      这不是编码而是表示。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-08
        • 2014-10-02
        • 2011-03-29
        • 1970-01-01
        • 2014-10-17
        • 1970-01-01
        • 2018-03-04
        • 1970-01-01
        相关资源
        最近更新 更多