除法

除法（英语、法语：division）是四则运算之一。除法运算的本质，就是「把参与运算的除数变为formula_1，得出同比的被除数的值」。
例如：，就好像，
formula_2，formula_3被formula_4减了两次后，就变成了formula_5。
如果
而且formula_7不等于零，那么
其中，a称为商数，b称为除数，c称为被除数。
如果除式的商数（formula_9）必须是整数，则称为带余除法，formula_10与formula_11相差的数值，称为余数（formula_12）。
这也意味著
在高等数学、科学、工程学和计算机编程语言中，formula_15写成formula_16。如果我们毋需知晓确切值，或者留待以后引用，这种形式也常称之为分数的最终形式。其中寻找商数的函数为formula_17，寻找余数（即模除）的函数则为formula_18。
在代数结构范畴中，除法运算存在两种基本形式，对应不同的数学结构定义：
引言.
首先，进入正题前，我们不妨来看两个生活中的例子：
其次，数学和物理存在许多：
可见，在数学，尤其是在基本算术中，除法可视为「乘法的反运算」，也可理解为「重复的减法」。
定义.
基本定义.
首先，我们来定义整数间的带余除法。这一运算的核心，是将被除数表示为“除数的整数倍+余数”的形式，且余数需满足特定条件。
具体而言，对于任意整数 formula_9 和非零整数 formula_7，存在唯一的整数 formula_36（商）和 formula_37（余数），使得：
其中，余数 formula_37 的非负性及小于除数绝对值的性质确保了分解的唯一性。
该定义是数论中整除、同余等概念的基础，并广泛用于模运算、辗转相除法等算法中。
带余除法的概念，已能凸显​​除零问题​​的本质：如何将一个量分成0份？显然，这没有实际意义。
随后，我们引入十进制数​​的概念，并通过​​递归处理余数​​的方式扩展计算过程，由此便有了​​有理数​​的定义体系。​​至于实数，则​​在有理数基础上拓展而成。
此时可以设想，将整体划分为更小的​​单位份额​​，从而实现​​分数除法​​：将一个量除以 formula_41（即formula_42），意味着初始量相当于formula_42个单位份额，进而求出完整单位的大小；而将一个量除以负数，则相当于计算需要移除的单位份额规模。
​​无理数无法直观理解为具体数量，但可视为一种比​​​​——例如正方形对角线与边长之比，或圆周长与其直径之比。至此，除法运算不再能单纯定义为“划分”，而应理解为​​乘法逆运算​​。
基于此定义，除以零仍无意义。由于零乘任何数都得零（formula_44），零便有无穷多个乘法逆元。我们亦可从极限角度理解该问题——因为除以某数等价于乘以其倒数，故可将原问题转化为函数formula_45在零点处极限的操作：当 formula_46 从左侧趋近于零时，极限为formula_47，从右侧趋近时，则为formula_48。
即便通过引入​​广义实数集​​（即在实数轴上添加formula_47和formula_48这两个“伪无穷大”）来扩展数系，问题仍未解决，因为极限值的符号不确定性依然存在。由此可见，​​除法在代数与数分中具有根本性意义。
其它定义.
环论中的除法定义.
设 formula_51 为整环​​​，则 formula_52 上的​​除法运算​​定义为满足以下条件的二元关系：
从整环到域的扩展.
若 A 为​​交换环​​，可通过​​等价关系​​扩展除法：
符号与表示.
基础算术中，除号“÷”仍被广泛使用，而在代数与科学领域，除法通常用​​水平横线（也被称为分数分划线）或​​斜杠表示被除数与除数的关系。除这三种以外，还有其它不同形式。
除号形式.
用除号将被除数和除数相隔开：
但实际上，除了在基础算术外，这种形式并不常见。ISO 80000-2-10.6标准明确禁止使用该符号​​，因部分欧洲国家用 ÷ 表示减法，容易产生混淆。
分数分划线形式​​.
将​​被除数​​置于分数线上方，​​除数​​置于下方，例如：
该形式可读作“a除以b”、“b除a”或“a比b”。
斜杠与反斜杠形式.
在单行文本中，使用斜杠分隔被除数与除数，例如：
此写法常见于编程语言和计算器输入中。
另外，有部分数学软件（如MATLAB、GNU Octave）采用反斜杠表示运算顺序反转的除法：
还有以上下标斜杠显示的：
冒号形式.
在某些非英语国家，有的用冒号将被除数和除数相隔开：
此用法由奥特雷德于1631年最先引入，自莱布尼兹于1684年提倡以来，才为人广泛应用。 莱布尼兹更喜欢用同一个符号表示除法和比率。而在英语用法中，“:”一般只表示比率。
在大部分非英语语言中，formula_76代表formula_15的比，读做c比b；formula_16则代表formula_15的比值。用法请参照比例。
除了以上这四种形式，美国自19世纪起便开始使用 formula_80 或 formula_81 来单独表示 formula_9 除以 formula_7，尤常见于长除法中。时至今日，美国仍有零星人口使用这种写法。
性质.
严格而言，除法并不构成集合上的（一种二元运算），其所谓“性质”并不构成数集的结构特性，而应理解为分数形式的固有属性。
不同的除法运算.
零除以任何非零的数都为零。即在被除数为零，除数非零的前提下，商数为零。
整数除法.
整数集在除法运算下没有封闭性，这意味着，两个整数相除，结果不一定是整数。除零操作本身即无定义外，当被除数不是除数的整数倍时，商将呈现为非整数形式。
以26除以11为例，其商即便非整数，但也属于有理数范畴。此时通常采用以下5种处理策略：
欲快速判定整数可除性（整除性），可借助​​整除规则​​：如2的倍数末位为偶数，3的倍数各位数字之和可被3整除等。这些规则本质上是数论中同余理论的特例。
有理数除法.
在除数非零的前提下，两个有理数相除，结果仍为有理数。
具体而言，对于有理数formula_108和formula_109（其中 formula_110均为整数且 formula_111），其除法运算可表示为：
该公式表明，有理数的除法本质上是乘以除数的倒数。所有参与运算的量均为整数，且仅有分子 formula_113 允许为零（此时结果为有理数0）。
这一定义严格保证了除法与乘法的逆运算关系：若 formula_114 ，则必然满足 formula_115 。
实数除法.
由有理数除法可得，在除数非零的前提下，两实数相除，结果仍为实数。
复数除法.
代数形式的复数除法.
对于两个非零复数 formula_116 和 formula_117（其中 formula_118，且 formula_37 和 formula_120 不同时为零），其除法运算通过​​分母实数化​​实现。先将分子和分母同时乘以分母的共轭复数 formula_121 ，分子展开后再分离实部与虚部，即
该方法通过消去分母的虚部实现有理化，分母变为实数。
极坐标形式的复数除法.
当上文复数表示为极坐标形式 formula_123 和 formula_124 （与上述条件相同外， formula_125 ）时，运算可进一步简化为：
该方法直接利用欧拉公式的性质，避免了复杂的代数运算。
多项式除法.
和整数之间的带余除法类似，一元多项式之间也可以进行带余除法。
证明：
设有多项式formula_52和非零多项式formula_128，则存在唯一的多项式formula_129和formula_130，满足：
而多项式formula_130若非零多项式，则其幂次严格小于formula_128的幂次。
作为特例，如果要计算某个多项式formula_134除以一次多项式formula_135得到的余多项式，可以直接将formula_9代入到多项式formula_134中。formula_134除以formula_135的余多项式是formula_140。
具体的计算可以使用类似直式除法的方式。例如，计算formula_141除以formula_142，列式如下：
因此，商式是formula_144，余式是formula_145。
矩阵除法.
矩阵除法可通过逆矩阵运算实现，通常定义为右除​​：对于可逆方阵 formula_52 和 formula_128 ，其除法运算表示为：
其中 formula_149 为 formula_150 的逆矩阵。为避免歧义，该运算更常见于显式写出乘积形式 formula_151 。
此外，矩阵的​​元素级除法​​可通过阿达玛积定义，即对应元素相除：
抽象代数除法.
抽象代数中，给定一个带有二元运算 * 的广群，​​左除​​（记为 ）通常定义为满足方程 的解 formula_46 ，类似地，​​右除记为 ）通常定义为满足方程 的解 formula_155 。这种除法定义不要求运算 * 具有交换性、结合性或单位元等性质。若一个广群中，所有元素对 formula_9 和 formula_7 的左除和右除均存在且唯一（即满足​​拉丁方阵），则该广群称为​​拟群​​。在拟群中，即使没有单位元和逆元，这种除法运算始终可行。
消去性质与除法运算的扩展.
在任意广群中，若元素 formula_9 满足消去律，则可通过 formula_9 对元素进行消去操作。例如：
在​​整环​​中，虽然并非所有元素都有逆元，但对可消去元素 formula_9 ，仍可对形如 formula_161 或 formula_162 的元素进行左除（ ）或右除（ ）。进一步地，若一个有限环的所有非零元素均满足消去性质，则根据​​鸽巢原理​​，每个非零元素必为可逆元，从而该环成为​​除环，此时任意非零元素均可作除法。
除法代数的分类与博特周期性.
​​博特周期性定理​​表明，对于满足特定条件的代数结构（如有限维实范数除法代数），其仅能与以下四类结构同构：
这一分类结果揭示了除法代数维度的内在规律性，并在拓扑学与量子场论中具有重要应用。
二进制除法.
讲完以上十进制除法，我们来介绍计算机科学领域更为常见的二进制编码数除法。
二元欧几里得除法.
首先，我们来思考两个正整数 formula_9 和 formula_7 的除法运算，采用欧几里得除法。
设 formula_9 和 formula_7 均为 formula_171 位二进制数，其中 formula_172 表示第 formula_173 位（从右向左，编号为 formula_5 至 formula_175），formula_176 表示从第 formula_173 位到第 formula_178 位的连续位段。以下伪代码（因词汇采用法语而非英语，如无另外说明，以下伪代码词汇皆用法语）实现了该除法的商 formula_129 和余数 formula_130 的计算：
fonction [Q, R] = diviser(a, b)
 si b == 0 alors génère l'exception "division par zéro" ;
 Q := 0 ; R := a ; // initialisation
 pour i = n-1 → 0
 si a(n:i) &gt;= b alors
 Q(i) = 1 ; // i-ème bit du quotient
 R = a(n:i) - b ; // reste
 fin
 fin
 retourne [Q, R] ;
fin
算法从被除数的最高位开始，逐步截取与除数同长度的位段（记为 formula_181），并判断是否满足 formula_182 。若当前截取的被除数高位段（从最高位开始逐步扩展）小于除数，则商的对应位为0；若该位段数值大于等于除数b，则通过一次减法操作确定商的当前位为1，并更新余数 formula_183 。
原始伪代码通过逐位比较实现，而优化版本有以下改进：
fonction [Q, R] = diviser(a, b)
 si b == 0 alors génère l'exception "division par zéro" ;
 Q := 0 ; R := 0 ; // initialisation
 pour i = n-1 → 0
 R = décalage_à_gauche_de_bits(R, 1) ; // équivaut à rajouter un 0 à droite
 R(1) = a(i) ; // le bit de poids faible de R est le i-ème bit du numérateur
 si R &gt;= b alors
 Q(i) = 1 ; // i-ème bit du quotient
 R = R - b ; // reste
 fin
 fin
 retourne [Q, R] ;
fin
而对于浮点数，只需将其分解为尾数和指数，公式为：
但需处理舍入误差，如采用舍入到最近偶数策略。
总之，该算法仅需​​比较、位移、减法​​三种基本操作，体现了计算机算术运算中​​位级优化​​的核心思想，适合在微处理器中通过组合逻辑电路或状态机实际操作。
相对较慢的算法.
设被除数 formula_9 和除数 formula_7 均为 formula_171 位二进制数，其中 formula_172 表示第 formula_173 位（从右向左，编号为 formula_5 至 formula_175），formula_192 表示从第 formula_173 位到第 formula_178 位的连续位段。算法核心思想是通过递推关系构造商 formula_129 和余数 formula_130 。
在第 formula_173 步迭代中，余数更新公式为：
若当前余数 formula_199 左移后大于等于除数 formula_7 ，则商位 formula_201 ，更新余数
若结果为负，则商位 formula_203 ，需恢复余数
此算法下，原始版本伪代码如下：
fonction [Q, R] = diviser(a, b)
 si b == 0 alors génère l'exception "division par zéro" ;
 R := a // valeur initiale du reste
 b := décalage_à_gauche_de_bits(b, n)
 pour i = n-1 → 0
 R := décalage_à_gauche_de_bits(b, 1)
 si R &gt;= b alors
 Q(i) := 1 // le i-ème bit de i est 1
 R = R - b
 sinon
 Q(i) := 0 // le i-ème bit de i est 0
 fin
 fin
 retourner[Q, R]
fin
优化版本伪代码如下：
fonction [Q, R] = diviser(a, b)
 si b == 0 alors génère l'exception "division par zéro" ;
 R := a // valeur initiale du reste
 b := décalage_à_gauche_de_bits(b, n)
 pour i = n-1 → 0
 R := 2*R - b // le reste décalé est-il supérieur à b ?
 si R &gt;= 0 alors
 Q(i) := 1 // le i-ème bit de i est 1
 sinon
 Q(i) := 0 // le i-ème bit de i est 0
 R := R + b // on restaure la valeur du reste en gardant le décalage
 fin
 fin
 retourner[Q, R]
fin
由于循环中的最后一条语句，这种算法被称为“带恢复的除法”。通过引入​​+1和-1商位生成机制​​，可改进为无恢复余数算法。
例如，二进制数codice_1可通过以下方式计算：
11101010
-00010101
11010101，通过​​商位符号扩展​​避免余数恢复步骤。
无恢复余数算法伪代码如下：
fonction [Q, R] = diviser(a, b)
 si b == 0 alors génère l'exception "division par zéro" ;
 R[0] := a
 i := 0
 tant que i &lt; n
 si R[i] &gt;= 0 alors
 Q[n-(i+1)] := 1
 R[i+1] := 2*R[i] - b
 sinon
 Q[n-(i+1)] := -1
 R[i+1] := 2*R[i] + b
 fin
 i := i + 1
 fin
 Q = transforme(Q)
 retourner[Q, R]
fin
另外，还有SRT算法，一种通过​​商位查找表​​的非恢复方法。
相对更快的算法.
快速除法的核心思想，是通过​​计算倒数​​实现除法运算，即先计算 formula_205 ，再通过乘法 formula_206 得到商。此乃牛顿-拉夫森法，其数学形式为：
其中，函数 formula_208 的零点即为 formula_209。迭代公式可简化为：
为加速收敛，需对 formula_209 进行初始估计。先将除数 formula_7 的二进制指数对齐至区间 formula_213 ，再采用预计算的线性近似公式：
其中系数 formula_215 和 formula_216 已预先存储为常量。
牛顿-拉夫森法具有​​二次收敛性​​，误差随迭代次数指数级下降。对于 formula_113 位精度，所需迭代次数为：
欲求单精度浮点数（24位尾数），需要约3次迭代；欲求双精度浮点数（53位尾数），则需约4次迭代。
牛顿-拉夫森法伪代码如下：
fonction [Q] = diviser(a, b)
 e := exposant(b) // b = M*2^e (représentation en virgule flottante)
 b' := b/2^{e + 1} // normalisation ; peut se faire par un décalage de e+1 bits à droite
 a' := a/2^{e + 1} // 0.5 &lt;= b &lt;= 1 ; a'/b' = a/b
 X := 48/17 - 32/17*b' // initialisation de la méthode de Newton
 pour i = 1 → s // s précalculé en fonction du nombre p de bits de la mantisse
 X := X + X*(1 - b*X)
 fin
 Q := a'*X
 retourne[Q]
fin
至于高施密特法，则是基于倒数逼近原理实现除法运算。其核心思想是通过构造因子序列
使得归一化后的除数b满足收敛条件
整除.
整除是数学中两个自然数之间的一种关系。自然数formula_9可以被自然数formula_7整除，是指formula_7是formula_9的因数，且a是b的整数倍数，也就是formula_9除以formula_7没有余数。
因数判别法可参照整除规则。
表示方法.
formula_228表示formula_7整除formula_9，即formula_9是formula_7的倍数，formula_7是formula_9的因数。
举例.
formula_235可以被formula_236整除，记作formula_237。
formula_238不能被formula_3整除（因为余数为formula_240），记作formula_241。在formula_242上加一条斜线即表示不整除。
运算方法.
根据乘法表，两个整数可以用长除法（直式除法）笔算。如果被除数有分数部分（或者说时小数点），计算时将小数点带下来就可以；如果除数有小数点，将除数与被除数的小数点同时移位，直到除数没有小数点。
算盘也可以做除法运算。
长除法.
长除法俗称「长除」，适用于正式除法、小数除法、多项式除法（即因式分解）等较重视计算过程和商数的除法，过程中兼用了乘法和减法。
使用长除法计算的过程可以表示为：
短除法.
短除法是长除法的简化版本。在短除法里，被除数放中央，旁以一L型符号表示除法，被除数左侧为除数，下侧为商，省去了长除法逐层计算的过程。
尺规作图法.
类似于乘法、幂运算和平方根，除法同样可以用尺规作图来表示。下文将展示两种不同的操作方法：
一种方法是作圆法。
两幅附图分别展示了一种简洁解法，该解法同时适用于 formula_252 及其倒数 formula_253 。图中的虚线圆和弧并非解题所需，而凭通过弦定理，更清晰地展示证明过程。为方便对比，图中各点的命名与弦定理引言图一致。
以下仅针对formula_254 的情况，见图2）：
至此，构造基本完成。为避免出现重叠， formula_278 与 formula_279 的长度关系需单独说明。
对图1的证明：
在以 formula_280 为圆心的圆 formula_281 中应用弦定理可得：
在以 formula_284 为圆心的圆 formula_285 中应用弦定理可得：
另一种方法是利用截线定理，用尺规作全等三角形。（图3）具体步骤如下：
关于“除以零”.
“除以零”有意义吗？.
在标准数学体系中，除以零被定义为“未定义”操作，因其与“零乘任何有限数恒为零”相悖，计算器输入此类表达式也会报错。但在零环和等高阶数学结构中，通过重新定义运算规则，除以零可被赋予特定意义。
1 : 0 是否等于∞?
部分人认为，这个问题应当赋予“∞”的解，因为经验表明，当分配者数量趋近于零时，每个个体获得的量会趋向无限。然而，这种直觉在数学体系中会引发根本性矛盾。
首先，引入“∞”这一“值”将导致环及其算术体系的瓦解。具体表现为：
其次，通过极限理论，在x=0处，函数 formula_308 同时具有正负两个方向的发散趋势：
由于正负无穷不可比较，该点不存在传统意义上的极限值。
而且，在有理数集 formula_311 和实数集 formula_312 中，引入无穷大会破坏原有序关系，导致比较运算的逻辑悖论。
最后，直接承认方程 formula_313 无解具有显著优势：
接受该方程无解的朴素事实，并借助分析学工具（如洛必达法则）处理相关问题，是更为合理且自洽的解决方案。