You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

汇编语言内存字节存储规则咨询,含有符号数-2存储示例疑问

问题解答

这一现象和x86架构下有符号整数的补码编码规则直接相关,对应逻辑如下:

  • 计算机存储有符号整数时默认采用补码形式,正整数的补码与原码完全一致,这也是你第一个示例中42直接存储为00 00 00 2A的原因,符合你的理解。
  • 针对十进制数-2,如果是32位有符号整数,补码计算流程为:
    1. 先计算+2的32位原码:00000000 00000000 00000000 00000010,对应十六进制值为00 00 00 02
    2. 按位取反得到反码:11111111 11111111 11111111 11111101
    3. 反码加1得到最终补码:11111111 11111111 11111111 11111110,对应十六进制值为FF FF FF FE
  • 你看到的?? ?? FF FE是因为当前仅读取展示了32位寄存器的低16位内容,高16位未被正常读取所以显示为占位符??,如果完整读取32位寄存器的全部内容,就会得到完整的FF FF FF FE,正好是-2的32位补码表示。
    如果是16位寄存器场景下,-2的16位补码本身就是FF FE,和你看到的低16位存储内容完全匹配。

内容的提问来源于stack exchange,提问作者Adilbek Ramazanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:06:02