计算机组成原理:乘法运算

  • 整数乘法与小数乘法完全相同,可用 逗号 代替小数点
  • 原码乘   符号位 单独处理;补码乘   符号位 自然形成;
  • 原码乘去掉符号位运算,即为无符号数乘法。
  • 不同的乘法运算需有不同的硬件支持

乘法运算可以通过硬件实现,也可以通过软件来实现;

  • 软件方法:通过编写乘法程序,把乘法化为累次相加运算,从而在加法器中实现。该方法经济,运算速度慢
  • 硬件方法:A、在加法器中增加一些移位控制部件来实现。这种方法在早期的计算机采用。B随着大规模集成电路的发展,现在设计了阵列乘法器是专门实现多位数乘法的电路。

1,原码一位乘

 

结果:x*y=-0.10110110

例:计算0.1101*0.1011,结果:0.10001111

部分积乘数说明

  0.0000

+0.1101

1011

 

初始化条件,部分积为0

乘数为1,加被乘数

  0.1101

  0.0110

+0.1101

1101

 

 

右移一位,形成新的部分积;乘数同时右移一位,乘数为1,加被乘数。

  1.0011

  0.1001

+0.0000

1

1110

 

右移一位,形成新的部分积;乘数同时右移一位,乘数为0,加上0。

  0.1001

  0.0100

+0.1101

11

1111

 

右移一位,形成新的部分积;乘数同时右移一位,乘数为1,加被乘数。

1.0001

0.1000

111

1111

右移一位,形成最终结果。

2,原码两位乘

原码一位乘:符号位 和 数值位 部分 分开运算。

原码两位乘:符号位 和 数值位 部分 分开运算。但原码两位乘是用两位乘法的状态来决定新的部分积如何形成,因此可提高运算速度。

ps:三位符号位为了防止丢失精度。

结果:x*y=-0.111000000111

3,补码一位乘法

 

4,补码二位乘法

将补码一位乘法(比较法)两步合成一步得补码两位乘法法则为:

1初始设置:设部分积为0,增设Yn+1=0

2符号参加运算:设部分积与被乘数三个符号位乘数Y数值的位数偶数设两个符号位;为奇数设一个符号位;

3运算步骤:根据 Yn-1, Yn, Y n+1 判断操作;

4最后一步:乘数Y数值的位数为偶数最后一步不移位;为奇数最后移一位。

部分积乘数说明

  000.0000

+000.0101

1101010

 

 

判断位为后三位010,+x补

  000.0101

  000.0001

+000.0101

 

01 11010

 

右移

判断位为010,+x补

 

  000.0110

  000.0001

+111.1011

 

1001 110

 

右移

判断位为110,+(-x)补

 

  111.11001001最后一步不用移位

 [XY]补 = 1.01110001

  • 28
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕双嘤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值