补码乘法的疑惑

在看深入理解计算机系统这本书,补码的乘法部分有点疑问,由于缺少相应的例子,实在不知道怎么做,网上搜到的例子如下:
补码例子1
补码例子2

有没有清晰一点的例子,就以csapp中的图为例:
图片描述

书中的公式推导部分我都没有仔细看,由于自己还没学组成原理部分,补码的乘法有点疑惑,例如第二个例子:
-3 3中xy怎么计算出来是110111的?

如果有讲解的比较清晰的文章也可以在下面贴出来,谢谢。

阅读 5.2k
2 个回答

暴力:

         0000 0011
       * 1111 1101
       -----------
       00000011
      00000000
     00000011
    00000011
   00000011
  00000011
 00000011
00000011 
------------
       1111 0111

上面的算法是对的。
其实这个表格,可以这么理解,补码的部分是先算十进制再转换成二进制,目的就是为了让你知道截断后补码原码是一样的,如前面的那些推导公式。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进