你知道几种乘法的计算方式?

简介: 你知道几种乘法的计算方式?

前言

家里有本《算法详解》一直没有看,昨天晚上打开翻了翻,觉得写的挺有趣的,第一章讨论了一个大家都学过的内容,乘法的计算。大部分人计算乘法,应该都只有一种方式,乘法的计算,也算是一种算法,下面就一起探讨一下,乘法的几种计算方式吧。

x*y=5678x1234

小学乘法累加算法/长乘法

这种应该是大家都熟悉的计算方式,我们计算的时候,先计算5678x4,然后计算5678x3,然后5678x2,然后5678x1,最后再把结果的位数对齐,进行相加。如下:

Karatsuba乘法

  1. 计算a*c=56x12=672
  2. 计算b*d=78x34=2625
  3. 计算ad+bc=56x34+78x12=2840
  4. 把1的结果后面加4个0,3的结果后面加2个0,然后把123的结果相加
  5. 6720000+284000+2625=7006652

我找张图来说明一下为什么这样计算可行:

再用数学计算证明一下:

网格法

然后把格子里的所有数据都相加,得到最终结果7006652

目录
相关文章
|
14天前
实现加减乘除计算
【10月更文挑战第26天】实现加减乘除计算。
45 7
|
5月前
|
运维 Serverless 数据库
函数计算产品使用问题之如何并行运算函数计算任务,并对任务计算后的结果再进行聚合运算
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
SQL 关系型数据库 MySQL
无法针对行和行之间的运算
无法针对行和行之间的运算
43 0
|
6月前
|
机器学习/深度学习 存储 算法
位运算是一种什么运算方式
位运算是一种什么运算方式
45 1
|
存储 算法 数据处理
数据的表示及运算
一、数据的表示及运算 数据的表示和运算是计算机系统中非常重要的概念,它们决定了计算机如何处理和操作数据。 1. 数据的表示:计算机使用二进制(0和1)来表示和存储数据。二进制是一种只有两个状态的编码方式,可以通过开关电路的开和关来表示0和1。计算机将二进制编码与不同的数据类型关联,例如整数、浮点数、字符等。 2. 整数运算:计算机可以对整数进行基本的算术运算,包括加法、减法、乘法和除法。这些运算是通过电子电路中的逻辑门实现的,逻辑门可以对二进制数进行逻辑运算和移位操作。 3. 浮点数运算:计算机可以进行浮点数的运算,浮点数是一种用于表示带有小数部分的数值的数据类型。浮点数运算涉及到浮点数的表示
77 0
|
6月前
|
语音技术 Python
量化模型是将浮点数运算转换为整数运算的过程
【2月更文挑战第32天】量化模型是将浮点数运算转换为整数运算的过程
64 1
|
Serverless
编写函数计算多项式的值
编写函数计算多项式的值
113.实矩阵乘法运算
113.实矩阵乘法运算
122 0
|
算法 C++
C++使用cuBLAS加速矩阵乘法运算
C++使用cuBLAS加速矩阵乘法运算
【MATLAB】数值运算 ( 数值运算示例 | 三角函数 | 指数运算 | 对数运算 | 常用的数学公式对应函数 )
【MATLAB】数值运算 ( 数值运算示例 | 三角函数 | 指数运算 | 对数运算 | 常用的数学公式对应函数 )
228 0
【MATLAB】数值运算 ( 数值运算示例 | 三角函数 | 指数运算 | 对数运算 | 常用的数学公式对应函数 )