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

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

前言

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

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

目录
相关文章
|
存储 数据处理
计算机数据的表示及运算
计算机数据的表示和运算是计算机系统中非常重要的概念。计算机使用二进制来表示和处理数据,其中包括整数、浮点数和字符等不同类型的数据。下面将详细介绍计算机数据的表示和运算。 1. 二进制表示:计算机使用二进制系统来表示数据。二进制系统由0和1两个数字组成,每一位称为一个比特(bit)。比特是计算机中最小的存储单位,可以表示一个二进制数值(0或1)。 2. 整数表示:计算机使用补码表示整数。补码是一种用于表示负数的方法,它将负数的最高位设为1,正数的最高位设为0。补码表示可以保证负数的运算结果仍然是有效的。 3. 浮点数表示:计算机使用浮点数表示实数。浮点数由两个部分组成:尾数和指数。尾数表示
235 0
|
3月前
实现加减乘除计算
【10月更文挑战第26天】实现加减乘除计算。
100 7
|
8月前
|
运维 Serverless 数据库
函数计算产品使用问题之如何并行运算函数计算任务,并对任务计算后的结果再进行聚合运算
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
存储 算法 数据处理
数据的表示及运算
一、数据的表示及运算 数据的表示和运算是计算机系统中非常重要的概念,它们决定了计算机如何处理和操作数据。 1. 数据的表示:计算机使用二进制(0和1)来表示和存储数据。二进制是一种只有两个状态的编码方式,可以通过开关电路的开和关来表示0和1。计算机将二进制编码与不同的数据类型关联,例如整数、浮点数、字符等。 2. 整数运算:计算机可以对整数进行基本的算术运算,包括加法、减法、乘法和除法。这些运算是通过电子电路中的逻辑门实现的,逻辑门可以对二进制数进行逻辑运算和移位操作。 3. 浮点数运算:计算机可以进行浮点数的运算,浮点数是一种用于表示带有小数部分的数值的数据类型。浮点数运算涉及到浮点数的表示
103 0
|
9月前
|
机器学习/深度学习 存储 算法
位运算是一种什么运算方式
位运算是一种什么运算方式
64 1
|
人工智能 测试技术
MoonLight的运算问题
MoonLight的运算问题
106 0
113.实矩阵乘法运算
113.实矩阵乘法运算
134 0
算数运算相关的元方法
算数运算相关的元方法
99 0
|
Java
Java基础语法运算和控制符(二)
Java基础语法运算和控制符(二)
175 0
Java基础语法运算和控制符(二)

热门文章

最新文章