x86 AND 指令

发布于 2024-12-29 08:32:42 字数 165 浏览 2 评论 0原文

在x86 64位中,我有以下指令:

and $0xf, %eax

%eax前后的内容仍然是4。这怎么可能? ANDing 100 & 1111 应该生成 1100,即 12,而不是 4。

In x86 64-bit, I have the following instruction:

and $0xf, %eax

The contents of %eax before and after remains 4. How is that possible? ANDing 100 & 1111 should result in 1100 which is 12, and not 4.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

薄暮涼年 2025-01-05 08:32:42

从什么时候开始 0100 & 1111 = 1100?

  0100 = 4
& 1111 = 15
------
  0100 = 4

Since when is 0100 & 1111 = 1100?

  0100 = 4
& 1111 = 15
------
  0100 = 4
怂人 2025-01-05 08:32:42

100 视为 0100,您可以看到 0100 & 1111 显然是 0100

Think of 100 as 0100 and you can see that 0100 & 1111 is clearly 0100.

浪推晚风 2025-01-05 08:32:42

不——你犯了一个错误。 100& 1111 = 100。

Nope - you're making a mistake. 100 & 1111 = 100.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文