除以零

在數學中，被除數的除數（分母）是零或將某數除以零，可表達為$\frac{a}{0}$，$a$是被除數。在算式中沒有意義，因為沒有數目，以零相乘（假設$a\neq 0$），由於任何數字乘以零均等於零，因此除以零是一個沒有定義的值。此式是否成立端視其在如何的數學設定下計算。一般實數算術中，此式為無意義。在程序設計中，當遇上正整數除以零程序會中止，正如浮點數會出現無限大或NaN值的情況，而在Microsoft Excel及Openoffice或Libreoffice的Calc中，除以零會直接顯示`#DIV/0!`。

## 基本算術

基本算術中，除法指將一個集合中的物件分成若干等份。例如，$10$個蘋果平分給$5$人，每人可得$\frac{10}{5} = 2$個蘋果。同理，$10$個蘋果只分給$1$人，則其可獨得$\frac{10}{1} = 10$個蘋果。

若除以$0$又如何？若有$10$顆蘋果，無人（$0$解作沒有）來分，每「人」可得多少蘋果？問題本身是無意義的，因根本無人來，論每「人」可得多少，根本多餘。因此，$\frac{10}{0}$，在基本算術中，是無意義或未下定義的。

另種解釋是將除法理解為不斷的減法。例如「$13$除以$5$」，換一種說法，$13$減去兩個$5$，餘下$3$，即被除數一直減去除數直至餘數數值低於除數，算式為$\frac{13}{5} = 2$餘數$3$。若某數除以零，就算不斷減去零，餘數也不可能小於除數，使得算式與無窮拉上關係，超出基本算術的範疇。此解釋也有一問題，即為無窮大乘以零仍是零。

### 早期嘗試

婆羅摩笈多（598–668年）的著作《婆羅摩曆算書》被視為最早討論零的數學和定義涉及零的算式的文本。但當中對除以零的論述並不正確，根據婆羅摩笈多所說。

一個正或負整數除以零，成為以零為分母的分數。零除以正或負整數是零或以零為分子、該正或負整數為分母的分數。零除以零是零。

830年，另一位數學家摩訶吠羅 (數學家)在其著作《計算精華》試圖糾正婆羅摩笈多的錯誤，但不成功：

一數字除以零會維持不變。

婆什迦羅第二嘗試解決此問題，答案是讓$\frac{n}{0}=\infty$。雖然此定義有一定道理，但會導致一個悖論：$0\times\infty$的結果可以是任意一個數，所以所有的數都是相同的。

在微積分和數學分析中，像$0\times\infty$或$\frac{0}{0}$這一類極限稱為不定型。不定型是可以計算的，結果可能是任意數。

## 代數處理

若某數學系統遵從域的公理，則在該數學系統內除以零必須為沒有意義。這是因為除法被定義為是乘法的逆向操作，即$\frac{a}{b}$值是方程$bx = a$中$x$的解（若有的話）。若設$b = 0$，方程式$bx = a$可寫成$0 \times x = a$或直接$0 x= a$。因此，方程式$bx = a$沒有解（當$a \neq 0$時），但$x$是任何數值也可解此方程（當$a = 0$時）。在各自情況下均沒有獨一無二的數值，所以$\frac{a}{b}$未能下定義。

### 除以零的謬誤

在代數運算中不當使用除以零可得出無效證明：$2 = 1$

式：

$$0a = 0$$

試：

$a = 1$：正確

$a = 2$：正確

得出：

$$0\times 1 = 0\times 2$$

除以零得出

$$\frac{0}{0}\times 1 = 2$$

簡化，得出：

$$1 = 2\,$$

以上謬論假設，某數除以0是容許的，並且$\frac{0}{0}=1$。

另一個簡潔的證明

設$a=b$，則$$a^2=ab$$兩邊同時減去$b^2$，由平方差公式得$$(a+b)(a-b)=b(a-b)$$兩邊除以$(a-b)$，$$a+b=b$$故$a=0$。

通過上面的過程，證明了一切數字等於$0$。此謬論是由於簡化的過程不正確，計算過程使用了「除以零」。

因為$(a-b)$是零，所以不能夠把左右兩邊的$(a-b)$刪去。

### 虛假的除法

在矩陣代數或線性代數中，可定義一種虛假的除法，設$\frac{a}{b}=a b^+$，當中$b^+$代表$b$的虛構倒數。這樣，若$b^-$存在，則$b^+ = b^-$。若$b=0$，則$0^+ = 0$；參見廣義逆。

## 數學分析

### 擴展的實數軸

表面看來，可以藉著考慮隨著$b$趨向$0$的$\frac{a}{b}$來定義「除以零」。

對於任何正數$a$，右極限是

$$\lim_{b \to 0^{+}} {a \over b} = {+}\infty$$

另一方面，左極限是

$$\lim_{b \to 0^{-}} {a \over b} = {-}\infty$$

由於左極限及右極限不相同，因此函數在$x=0$的極限不存在，該點沒有定義。同樣地，若$a$是負數，極限也不存在。

如果分子及分母均為零或趨向零，則可使用洛必達法則計算。

### 不定型極限

不定型（Indeterminate Form）的極限可透過四則運算或洛必達法則計算。

考慮函數$f(x) = \frac{x^2-9}{x-3}$

如果直接代入$x=3$，會得到零除以零，這是沒有意義的。

$$f(3) = \frac{3^2-9}{3-3} = \frac{0}{0}$$

但透過約簡分子及分母，該點的極限是可以計算的。

$$\lim_{x\to 3} \frac{x^2-9}{x-3}=\lim_{x\to 3} \frac{(x+3)(x-3)}{x-3}=\lim_{x\to 3} x+3=6$$

此外，函數的極限可透過洛必達法則計算。

$$\lim_{x\to c}\frac{f(x)}{g(x)} = \lim_{x\to c}\frac{f'(x)}{g'(x)}$$

若隨著$x$趨向$0$，$f(x)$與$g(x)$均趨向$0$，該極限可等於任何實數或無限，或者根本不存在，視乎$f$及$g$是何函數。

### 形式推算

運用形式推算，正號、負號或沒有正負號因情況而定，除以零定義為：

$$\lim\limits_{x \to 0} {\frac{1}{x} =\frac{\lim\limits_{x \to 0} {1}}{\lim\limits_{x \to 0} {x}}} = \infty.$$

### 黎曼球

集合$\mathbb{C}\cup\{\infty\}$為黎曼球（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）：負無窮大

## 參考

- 1957 (1999 Dover edition), Introduction to Logic, Dover Publications, Inc., Mineola, New York. ISBN 0-486-40687-3 (pbk.).
- Charles Seife 2000, Zero: The Biography of a Dangerous Idea, Penguin Books, NY, ISBN 0-14-029647-6 (pbk.).
- Alfred Tarski 1941 (1995 Dover edition), Introduction to Logic and to the Methodology of Deductive Sciences, Dover Publications, Inc., Mineola, New York. ISBN 0-486-28462-X (pbk.).