除以零

在数学中,被除数的除数(分母)是零或将某数除以零,可表达为,是被除数。在算式中没有意义,因为没有数目,以零相乘(假设),由于任何数字乘以零均等于零,因此除以零是一个没有定义的值。此式是否成立端视其在如何的数学设定下计算。一般实数算术中,此式为无意义。在程序设计中,当遇上正整数除以零程序会中止,正如浮点数会出现无限大或NaN值的情况,而在Microsoft Excel及Openoffice或Libreoffice的Calc中,除以零会直接显示#DIV/0! 。

除以0时计算器的错误

基本算术

基本算术中,除法指将一个集合中的对象分成若干等份。例如, 个苹果平分给 人,每人可得 个苹果。同理, 个苹果只分给 人,则其可独得 个苹果。

若除以 又如何?若有 颗苹果,无人( 解作没有)来分,每“人”可得多少苹果?问题本身是无意义的,因根本无人来,论每“人”可得多少,根本多余。因此, ,在基本算术中,是无意义或未下定义的。

另种解释是将除法理解为不断的减法。例如“ 除以 ”,换一种说法, 减去两个 ,余下 ,即被除数一直减去除数直至余数数值低于除数,算式为 余数 。若某数除以零,就算不断减去零,余数也不可能小于除数,使得算式与无穷拉上关系,超出基本算术的范畴。此解释也有一问题,即为无穷大乘以零仍是零。

早期尝试

婆罗摩笈多(598–668年)的著作《婆罗摩历算书(英语:Brahmasphutasiddhanta)》被视为最早讨论零的数学和定义涉及零的算式的文本。但当中对除以零的论述并不正确,根据婆罗摩笈多所说,

830年,另一位数学家摩诃吠罗(英语:Mahāvīra (mathematician))在其著作《Ganita Sara Samgraha》试图纠正婆罗摩笈多的错误,但不成功:

婆什迦罗第二尝试解决此问题,答案是让 。虽然此定义有一定道理,但会导致一个悖论: 的结果可以是任意一个数,所以所有的数都是相同的。[1]

在微积分和数学分析中,像 或 这一类极限称为不定型。不定型是可以计算的,结果可能是任意数。

 
安卓手机计算器除以0显示无限大

代数处理

若某数学系统遵从域的公理,则在该数学系统内除以零必须为没有意义。这是因为除法被定义为是乘法的逆向操作,即 值是方程 中 的解(若有的话)。若设 ,方程式 可写成 或直接 。因此,方程式 没有解(当 时),但 是任何数值也可解此方程(当 时)。在各自情况下均没有独一无二的数值,所以 未能下定义。

除以零的谬误

在代数运算中不当使用除以零可得出无效证明: 

式:

 

试:

 :正确
 :正确

得出:

 

除以零得出

 

简化,得出:

 

以上谬论假设,某数除以0是容许的,并且 。

另一个简洁的证明

设 ,则
 
两边同时减去 ,由平方差公式得
 
两边除以 ,
 
故 。

通过上面的过程,证明了一切数字等于 。此谬论是由于简化的过程不正确,计算过程使用了“除以零”。

因为 是零,所以不能够把左右两边的 删去。

虚假的除法

在矩阵代数或线性代数中,可定义一种虚假的除法,设 ,当中 代表 的虚构倒数。这样,若 存在,则 。若 ,则 ;参见广义逆。

数学分析

 
函数 的图像。当x趋向0,左极限和右极限分别趋向负无限及正无限。

扩展的实数轴

表面看来,可以藉着考虑随着 趋向 的 来定义“除以零”。

对于任何正数 ,右极限是

 

另一方面,左极限是

 

由于左极限及右极限不相同,因此函数在 的极限不存在,该点没有定义。同样地,若 是负数,极限也不存在。

如果分子及分母均为零或趋向零,则可使用洛必达法则计算。

不定型极限

不定型(Indeterminate Form)的极限可透过四则运算或洛必达法则计算。

考虑函数 

如果直接代入 ,会得到零除以零,这是没有意义的。

 

但透过约简分子及分母,该点的极限是可以计算的。

 

此外,函数的极限可透过洛必达法则计算。

 

若随着 趋向 , 与 均趋向 ,该极限可等于任何实数或无限,或者根本不存在,视乎 及 是何函数。

形式推算

运用形式推算(英语:formal calculation),正号、负号或没有正负号因情况而定,除以零定义为:

 

黎曼球

集合 为黎曼球(Riemann sphere),在复分析中相当重要。

计算机科学

不同编程语言下除以零的结果
编程语言 整数 浮点数
C语言 未定义行为,早期计算机可能崩溃;如果0是常量,可能导致编译警告。 无穷大或NaN
Java 抛出ArithmeticException异常 无穷大或NaN
JavaScript 不适用,JavaScript无整数类型 无穷大或NaN
Python 抛出ZeroDivisionError异常 抛出ZeroDivisionError异常;但是部分Python包提供的运算函数除外

在计算机中,除以零的结果根据编程语言、软硬件环境、数据类型、数值而不同。部分语言中,无论是整数还是浮点数,除以0均会产生异常,而在另一部分语言中,整数除以零会产生异常或未定义行为,而浮点数除以零的结果如下:

  • 零与NaN除以零:NaN(注:NaN不等于NaN)
  • 零与NaN以外的数除以符号相同的0(如1除以0):正无穷大
  • 零与NaN以外的数除以符号不同的0(如1除以-0、-1除以0):负无穷大

注释

  1. ^ Zero 互联网档案馆的存档,存档日期2008-12-04.

参考