怎样才能用最快的速度算乘法

来自:游玩旅游    更新日期:早些时候
计算机做乘法除法的速度差别~

做乘法和做除法的次数是根据位数和要求的精度确定的。
而且计算机的乘除法一般用补码计算,符号位参加运算,至于具体方法,请参考计算机组成原理的ALU加法器逻辑图和补码原码乘法或者补码不恢复余数除法等,比较难讲清楚的,看看书就好了

比如说8位的单片机,如果处理8位的变量a,并且支持左移指令和乘法指令。那么a<<2*5的汇编代码就是先左移两次再做一次乘法,而a*20就是直接的做一次乘法。结果就是a*20快。但要是单片机不支持乘法指令,那么把乘法转换为加法,这时就是a<<2*5的速度快了。

如果乘数是2的幂次方,比如2、4、8、16、32等等,那可以转换为左移1、2、3、4、5次这样运算速度最快,这对于不支持乘法指令的处理器是非常重要的——如果按照一般的算法,乘法变成加法,a×20就变成重复20次加a的动作,这样很浪费时间。但以转变为(a<<4)+(a<<2),这样只需要3次移位和一次加法就算出结果,比乘法表达式速度快的多。

  乘法中的速算和巧算

  1.直接利用乘法结合律的速算

  利用乘法结合律,可以把两个因数相乘积是整十、整百、整千的先进行计算,使计算简便。为了计算迅速,可以把有些较常用的乘法算式记熟,例如:25×4=100,125×8=1000,12×5=60,……

  例1 计算236×4×25

  解:236×4×25

  =236×(4×25)

  =236×100

  =23600

  2.乘法交换律、结合律同时运用的速算

  几个因数相乘,先交换因数的位置,使因数相乘积为整十、整百、整千的凑在一起,根据结合律分组计算比较简便。

  例2 125×2×8×25×5×4

  解:原式=(125×8)×(25×4)×(5×2)

  =1000×100×10

  =1000000

  3.直接利用乘法分配律的简算

  例3 计算:

  (1)175×34×175×66

  (2)67×12+67×35+67×52+67

  解:(1)根据乘法分配律:

  原式=175×(34+66)

  =175×100

  =17500

  (2)把67看作 67×1后,利用乘法分配律简算。

  原式=67×(12+35+52+1)

  =67×100

  =6700

  4.把一个因数拆分成两个因数,利用交换律、结合律进行巧算。

  例4 计算(1)28×25

  (2)48×125

  (3)125×5×32×5

  解:(1)原式=4×7×25

  =7×(4×25)

  =7×100

  =700

  (2)原式=6×8×125=6×(8×125)

  =6×1000

  =6000

  (3)原式=125×8×4×5×5

  =(125×8)×(4×25)

  =1000×100

  =100000

  5.间接利用乘法分配律进行巧算

  例5 计算(1)26×99

  (2)1236×199

  (3)713×101

  解:(1)由99=100-1,

  原式=26×(100-1)

  =26×100-26×1

  =2600-26

  =2574

  (2)由199=200-1,

  原式=1236×(200-1)

  =1236×200-1236×1

  =247200-1236

  =246000-36

  =245964

  (3)原式=713×(100+1)

  =713×100+713×1

  =71300+713

  =72013

  6.几种常见的特殊因数乘积的巧算

  (1)任何一个自然数乘以0,其积都等于0。

  例6 计算1326+427×9×42×0-315

  解:原式=1326+0-315

  =1011

  (2)在乘法算式中,任何一个数乘以1,还得原来的数。

  例7 8736×49+8736×40-8736×88

  解:根据乘法分配律,

  原式=8736×(49+40-88)

  =8736×1

  =8736

  (3)求一个数乘以5的积

  例8 计算12864732×5

  解:一个数乘以5,实际上就是乘以10的一半,因此可以把被乘数末尾添上一个0(扩大10倍),再把所得的数除以2(减半)即可。

  原式=128647320÷2

  =64323660

  (4)求一个数乘以11的积

  例9 13254638×11

  解:把被乘数依次排开,先写上这个数首尾两数字,中间再添上相邻两数之和(够10进1),就是这个数乘以11的积。

  13254638×11=145801018

  同学们把这种乘以11的速算总结成一句话,叫作“两边一拉,中间相加”。

  (5)求十几乘以十几的积

  例10 计算18×12

  解:如果两个因数都是十几的数,可以用一个因数加上另一个因数个位上的数,乘以10,再加上它们个位数的积。

  原式=(18+2)×10+2×8

  =200+16

  =216


怎样才能用最快的速度算乘法视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网