除以零

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

参考