gpt4 book ai didi

assembly - 他们如何如此快地将十进制转换为十六进制(记住)?

转载 作者:行者123 更新时间:2023-12-02 00:15:47 34 4
gpt4 key购买 nike

我观察到很少有逆向工程师,他们将十进制转换为十六进制的速度如此之快。这简直太神奇了。我一直没有机会问他们。就我个人而言,我真的很讨厌这个转换,而且我总是使用计算器进行转换。

我想知道这种转换是否有某种捷径?

我认为特别是对于逆向工程师和低级(汇编、嵌入式)程序员来说。如果他能用十六进制而不是十进制来计算、加减和思考,那就太棒了。如果您对此有任何建议,请分享。

最佳答案

您需要了解hart的基本转换0-16、0x0-0xF和0b0-0b1111转换。

其余的你可以通过重复来学习。有一些经常重复的模式需要注意。

倍数:

  • 1024(1K) 为 0x400
  • (1024*1024)1048567(1M) 为 0x100000
  • 只需乘以 4 即可得到大小4M 为 0x400000。

与位位置类似,您可以了解十进制值

  • 16 位字的 MSB 为 0x8000 或 32768 或 32K
  • 因此下一位的值为 0x4000 或 16384 或 16K

这些模式随处重复,随着时间的推移,您将开始学习它们。

如果您有二进制表示形式,则可以轻松地将位分成四个一组并快速转换为二进制表示形式。

找到十进制值 0xA1B587DE 的唯一现实方法是使用计算器(或者非常擅长数学)。但从 0xA1B587DE 向下最近的 1k 边界是 0xA1B58400,如果您知道模式,这很容易。

来自您对操作码的评论:
对于 RISC 处理器,大多数指令只是指令字中的前几位定义指令系列(mov、jump、and、or、...),其余的只是参数。如果您足够多地使用处理器,您就会开始学习它们。

关于assembly - 他们如何如此快地将十进制转换为十六进制(记住)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4294140/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com