Csapp,二的补加法的问题

发布于 2022-09-04 13:13:32 字数 268 浏览 40 评论 0

Csapp 2.3.2 two-complement addition.
如图中的两个红框是如何推倒的,即z mod 2w = z + 2w.
这里使用的模运算规则是什么,因为我的理解z是一个负数,而2w是一个正数,他们mod的结果不应该是一个负数吗?我用c验证过。谢谢图片描述

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

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

发布评论

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

评论(1

故笙诉离歌 2022-09-11 13:13:32

这个我明白了. 这就是模运算的定义. 对于一个模 M 的系统, 对于任意 x ( x 为整数来说 ) x 与 x + n*M ( n 为自然数 ) 同余. 如:M = 10. -1 mod 10 = (-1 + 10 ) mod 10 = 9. 同理, (-1 - 10) mod 10 也与之同余. 但是文中需要保持 z' 是一个正数, 所以取 n = 1, 也就是 z 与 z + 2^w 同余.

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