zoukankan      html  css  js  c++  java
  • 复习:十六进制转换成十进制算法

    在计算机中的内存地址往往都是用十六制来表示的,在学习如汇编、windbg之类的技术时也往往被这些十六进制数据搞晕,不便于学习,所以我们要练就一身好本领:快速把十六进制数转换为我们容易理解的十进制数

    计算方法如下:

    设H为待转化的十六制数,H的位数为N,H[i](0<=i<=N)为H中的各数字(如:H=0x89AF 的N为3,H[0]=F,H[1]=A,H[2]=9,H[3]=8),转换为十进制的数为:

    D = H[0]*16^(0) + H[1]*16^(1) + … + H[N]*16^(N) = H[0] + H[1]*16 + … + H[N]*16^(N)

    示例:

    0x12 = 2 + 1*16 = 18

    0xAB = B + A*16 = 11 + 10*16 = 171

    0x8A = A + 8 * 16 = 10 + 8*16 = 138

    0x121 = 1 + 2*16 + 1 * 256 = 289

    0xABC = C + B*16 + A*256 = 12 + 11*16 + 10*256 = 2748

    0x8F9 = 9 + F*16 + 8 * 256 = 9 + 15*16 + 256 * 8 = 2297

    为了快速计算、心算,需要记住一下常见的乘法计算,如:

    16*16 = 256,15*16 = 240,14*16 = 224,。。。

    1*256 = 256,2*256 = 512,3*256 = 768,4*256 = 1024,。。。

    16^2 = 256,16^3=4096

    就像记99乘法表那样,这样在遇到内存地址时就不会感到陌生了

  • 相关阅读:
    SQL关于分页的sql查询语句 limit 和row_number() OVER函数
    js的工作原理
    jQuery工作原理
    java servlet的工作原理
    JSP工作原理
    Ajax工作原理
    知识总结
    SQL Server Job 简单使用
    [转]基于fiddler的APP抓包及服务端模拟
    排序算法 python
  • 原文地址:https://www.cnblogs.com/XiaoG/p/1555052.html
Copyright © 2011-2022 走看看