美文网首页
关于补码(有符号)乘法遇到的疑惑

关于补码(有符号)乘法遇到的疑惑

作者: 汪二小 | 来源:发表于2016-05-30 19:57 被阅读0次

《深入理解计算机系统》第61页

表格第一行的补码-3与3相乘得到的-9不知道是怎么它用补码是怎么计算的。

查了一些资料后发现补码的乘法运算是这样的:


1. 和普通乘法不同,补码乘法需要拓展前面的位,即符号拓展(在表示中添加最高有效位的值的副本),不能默认为0。

2. 因为Y2的权重是-2^(w - 1),所以后面要减去。

所以关于 -3(101)与3(011)乘法步骤如下:

                    1   0    1

            X      0   1    1

---------------------------

   1   1    1    1    0    1

   1    1    1    0    1

+ 0    0   0    0

-----------------------------

    1    1    0   1   1   1

相关文章

  • 关于补码(有符号)乘法遇到的疑惑

    《深入理解计算机系统》第61页 表格第一行的补码-3与3相乘得到的-9不知道是怎么它用补码是怎么计算的。 查了一些...

  • 原码、反码、补码

    1.原码反码补码基本概念 数据在计算机内部是以补码的形式储存的 数据分为有符号数和无符号数(最高位为符号位)无符号...

  • Scala编程--数据类型(二)

    一、数据类型 数据类型描述Byte8位有符号补码整数。数值区间为 -128 到 127Short16位有符号补码整...

  • 第四章数据类型与操作符

    1.数据类型 数据类型描述Byte8位有符号补码整数。数值区间为 -128 到 127Short16位有符号补码整...

  • 易被遗忘的C/C++要点总结

    一、 数据类型及运算 求补码 原码的基础上, 符号位不变, 其余各位取反, 最后+1 原码转补码不考虑符号位 补码...

  • 基本数据类型

    一 、内置数据类型 byte 8位、有符号的,以二进制补码表示的整数short 16 位、有符号的以二进制补码表示...

  • 原码,反码和补码

    在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。 正数的原码,反码,补码都相...

  • 定点数的原码补码乘法

    定点乘法运算之原码一位乘法 定点乘法运算之补码一位乘法 完整参考:http://blog.csdn.net/kai...

  • JAVA中负数的二进制表示

    计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,反码=原码按位取反 补码=反码+1。 移码为补码...

  • 数据的表示

    1位符号位+7位数值位正数:原码=反码=补码负数:反码=原码数值位取反 符号位不变补码=反码+1补码的表示范围位数...

网友评论

      本文标题:关于补码(有符号)乘法遇到的疑惑

      本文链接:https://www.haomeiwen.com/subject/fdkqdttx.html