绝对值

在数学中，实数 a {\displaystyle a} 的绝对值或模，记号为 | a | {\displaystyle |a|} ，是指去掉 a {\displaystyle a} 的符号所得的非负值。若 a {\displaystyle a} 是正数，则 | a | = a {\displaystyle |a|=a} ； 若 a {\displaystyle a} 是负数（则 − a {\displaystyle -a} 是正数），则 | a | = − a {\displaystyle |a|=-a} ；零的绝对值为零（ | 0 | = 0 {\displaystyle |0|=0} ）。例如， 3 {\displaystyle 3} 和 − 3 {\displaystyle -3} 的绝对值都是 3 {\displaystyle 3} 。绝对值可看作该数和零之间的距离。 绝对值的定义也可以从实数扩展到复数、四元数、有序环、域、向量空间等范围。在数学和物理中，绝对值与量、距离、范数等概念密切相关。 若實數 a ≠ 0 {\displaystyle a\neq 0} ，則在兩個相互對稱的數 a {\displaystyle a} 和 − a {\displaystyle -a} 中恰有一個數大於 0，這個大於 0 的數就稱為數 a {\displaystyle a} 和數 − a {\displaystyle -a} 的絕對值，記為 | a | = | − a | {\displaystyle \left|a\right|=\left|-a\right|} ，0 的絕對值為 0 。 一個數的絕對值最小值為0，某數的絕對值表示為 | {\displaystyle |} 某數 | {\displaystyle |} 。對於所有實數 x {\displaystyle x} ：若 x {\displaystyle x} 是負數， | x | = − x {\displaystyle |x|=-x} （即是 − x {\displaystyle -x} 是一個正數）；若 x {\displaystyle x} 非負， | x | = x {\displaystyle |x|=x} 本身。即： | a | = { a ( a > 0 ) 0 ( a = 0 ) − a ( a < 0 ) {\displaystyle \left|a\right|={\begin{cases}a&(a>0)\\0&(a=0)\\-a&(a<0)\end{cases}}} 一個數的絕對值可以視為該數在数線上的点和零的距離。例如 3 同時是 3 和 -3 的絕對值。 絕對值有以下性質： | a | ≥ 0 {\displaystyle |a|\geq 0} 若 a = 0 {\displaystyle a=0} ， | a | = 0 {\displaystyle |a|=0} | a b | = | a | | b | {\displaystyle |ab|=|a||b|} 若 b ≠ 0 {\displaystyle b\neq 0} ， | a b | = | a | | b | {\displaystyle |{\frac {a}{b}}|={\frac {|a|}{|b|}}} | a + b | ≤ | a | + | b | {\displaystyle |a+b|\leq |a|+|b|} ( 見三角不等式 ) | a − b | ≥ | | a | − | b | | {\displaystyle |a-b|\geq {\Big |}{\big |}a{\big |}-{\big |}b{\big |}{\Big |}} 若 a > 0 {\displaystyle a>0} ，則 a = | a | {\displaystyle a=\left|a\right|} ；若 a < 0 {\displaystyle a<0} ，則 a = − | a | {\displaystyle a=-\left|a\right|} 複數的絕對值定義為：若 z = a + i b {\displaystyle z=a+ib} ，則 | z | = a 2 + b 2 = z z ¯ {\displaystyle |z|={\sqrt {a^{2}+b^{2}}}={\sqrt {z{\bar {z}}}}} （見平方根和共軛複數）。它符合以上的六項性質，但以下的三項就不成立： | a | = a 2 {\displaystyle \left|a\right|={\sqrt {a^{2}}}} | a | ≤ b {\displaystyle |a|\leq b} 若且唯若 − b ≤ a ≤ b {\displaystyle -b\leq a\leq b} | a | ≥ b {\displaystyle |a|\geq b} 若且唯若 a ≤ − b {\displaystyle a\leq -b} 或 b ≤ a {\displaystyle b\leq a} 但此時有 | z ¯ | = | z | {\displaystyle |{\bar {z}}|=|z|} z z ¯ = | z | {\displaystyle {\sqrt {z{\bar {z}}}}=|z|} 最後兩道式子常用於計算涉及複數絕對值的不等式。 絕對值的定義可以照搬到有序環上。定義如下： | a | = { a , a ≥ 0 − a , a < 0 , {\displaystyle |a|={\begin{cases}a,&\;a\geq 0\\-a,&a<0,\end{cases}}} 其中 − a {\displaystyle -a} 是 a {\displaystyle a} 的加法反元素，而 0 是有序環的加法單位元素。 在抽象的域上，我們用絕對值的基本性質來推廣定義。一個域 F {\displaystyle F} 上的絕對值是一個函數 | ⋅ | : F → R {\displaystyle |\cdot |:F\rightarrow \mathbb {R} } ，滿足以下四條公理: 由以上公理可以導出 | 1 | = 1 {\displaystyle |1|=1} 。距離函數 d ( x , y ) = | x − y | {\displaystyle d(x,y)=|x-y|} 賦予 F {\displaystyle F} 度量空間結構。 如果將定義中的三角不等式換作以下較強的形式（有時又叫做強三角不等式） ∀ a , b ∈ F | a + b | ≤ m a x { | a | , | b | } {\displaystyle \forall a,b\in F\quad |a+b|\leq \mathrm {max} \{|a|,|b|\}} 則稱 ( F , | ⋅ | ) {\displaystyle (F,|\cdot |)} 為超度量域，或稱絕對值 | ⋅ | {\displaystyle |\cdot |} 不滿足阿基米德性質；反之則稱 | ⋅ | {\displaystyle |\cdot |} 滿足阿基米德性質。。 超度量域的典型例子是 p進數域。一般來說，值群在 R {\displaystyle \mathbb {R} } 裡的賦值環對應到超度量域，此時賦值與絕對值的關係由 | x | := a v ( x ) {\displaystyle |x|:=a^{v(x)}} 給出，其中 a ∈ [ 0 , 1 ] {\displaystyle a\in [0,1]} ；不同的 a {\displaystyle a} 給出等價的拓撲結構。 絕對值函數在 x = 0 {\displaystyle x=0} 不可導。 d d x | x | = x | x | = { 1 x > 0 − 1 x < 0 {\displaystyle {\frac {d}{dx}}|x|={\frac {x}{|x|}}={\begin{cases}1&x>0\\-1&x<0\end{cases}}} ∫ | x | d x = x | x | 2 + C {\displaystyle \int |x|dx={\frac {x|x|}{2}}+C} 其中 C {\displaystyle C} 是積分常數。 C 語言關於絕對值的函數有： abs(), labs(), llabs()（在 C99 中），fabs()、fabsf() 與 fabsl() 函數計算一個對象的絕對值。當輸入值不是最大負整數時，很容易寫出計算絕對值的巨集或函數。 以下巨集可接受整數或浮點數： #define abs(i) ((i)>0 ? (i) : (-i)) 如果以函數計算，需要寫多個函數，多載來處理不同數據類型： int abs (int); float abs (float); double abs (double); int abs (int i) { if (i>0) { return i; } else { return -i; } } 關於浮點數的絕對值演算法就要用點技巧，因為要為無窮大及 NaN（Not a Number）撰寫特別的程式碼。 在 Pascal、Fortran 和 Matlab 語言裡，取得絕對值的函數是 abs，可以計算整數、實數，以及複數。 如以組合語言撰寫，應有可能以三行指令在暫存器內完成絕對值的判斷與轉換演算法，以下例子是 x86 結構上的 32 位元暫存器，採英特爾語法。 cdq xor eax, edx sub eax, edx cdq 指令將帶號位元（sign bit）的 eax 轉成 edx。如果 eax 是非負值，那 edx 變成 0，接下來的兩個指令會沒有影響，eax 將不變。如果 eax 是負數，那麼 edx 會變成 0xFFFFFFFF ，或是 -1。接下來的兩個指令會變成倒轉的二補數，並從 eax暫存器中取得負數的絕對值。 量 (數學) 值 Schechter, p 260-261. Nahin, Paul J.; An Imaginary Tale （页面存档备份，存于互联网档案馆）; Princeton University Press; (hardcover, 1998). ISBN 0-691-02795-1 O'Connor, J.J. and Robertson, E.F.; "Jean Robert Argand" （页面存档备份，存于互联网档案馆） Schechter, Eric; Handbook of Analysis and Its Foundations, pp 259-263, "Absolute Values", Academic Press (1997) ISBN 0-12-622760-8 埃里克·韦斯坦因. Absolute Value. MathWorld.  absolute value at PlanetMath. 微积分学教程，( 第一卷 ) ( 第 8 版 )，第 3 页，ISBN 5-9221-0436-5，菲赫金哥尔茨 著，杨弢亮 、叶彦谦 译，郭思旭 较，高等教育出版社