有效數字
有效數字(significant figures,significant digits,簡寫 sig figs),其代表一個數是由若干位數字組成,其中影響其測量精度的數字被稱作有效數字,也稱有效數位[1]。
有效數字是科學計算中用以表示一定長度浮點數精度的那些數字,一般指一個用小數形式表示的浮點數中,從第一個非零的數字算起的所有數字;例如:1.24和0.00124的有效數字都有3位。並且在取有效數字時一般會遵循四捨五入的進位規則[2]。例如取1.23456789為三位有效數字後的數值將會是1.23,而取四位有效數字後的數值將會是1.235。
辨別有效數字
簡單的規則如下:
- 所有非零數字都是有效的;
- 非零數字間的零都是有效的;
- 前綴零始終無效;
- 對於需要小數點的數,後綴零(最後一個非零數字後的零)是有效的;
- 對於不需要小數點的數,後綴零可能有效也可能無效。需要根據額外的符號或者誤差訊息決定。
所有非零數字都有效。例如 91 有兩位有效數字(9 和 1),而 123.45 有五位有效數字(1、2、3、4、5)。
兩個非零數字之間的零都有效。例如 101.1203 有七位有效數字(1、0、1、1、2、0、3)。
開頭的零始終無效。例如 0.00052 只有兩位有效數字(5 和 2)。
包含小數點的數中,結尾的零是有效的。例如 12.2300 有六位有效數字(1、2、2、3、0、0),而 0.000122300 也只有六位有效數字(1 前面的 0 都無效),120.00 則有五位。這一規則是因為小數里結尾的零可以明確精度。例如在精確到小數點後四位(0.0001)進行度量時,如果僅給出 12.23 的結果,可能會被誤解為測量時只精確到小數點後兩位,而給出 12.2300 的結果,則可以明確有小數點後四位的精度(例子中的結果有六位有效數字)。
針對不包含小數點的數,結尾的零是否是有效數字可以有不同的理解。例如僅給出 1300,我們無法得知它是精確到了最小單位(只是恰巧是 100 的倍數),還是在百位或者十位做了捨入。有很多做法可以消除歧義:
- 在最後一個有效數字上劃線。被標記的數字之後,所有結尾的零都不是有效數字。例如 表示有三位有效數字,精確到十位;
- 類似的也有加下劃線的做法,比如 表示有兩位有效數字,精確到百位;
- 如果在數字後面加上小數點,可以表示精確到個位。例如 100. 就有三位有效數字;
- 數字與計量單位結合時,可以通過選擇不同的前綴避免歧義。例如表示質量時,1300克的精度是有歧義的,而換成1.3千克則無歧義,有兩位有效數字。
不過很多時候人們並不使用這些消歧義的做法,後綴的零是否屬於有效數字只能從上下文分辨。需要時也可以直接標明有效數字位數,比如可以寫「20000(兩位有效數字)」。
科學記數法
大多數情況下,使用科學記數法的數也可以使用上述規則判別有效數字。不過正規化形式的科學記數法沒有前綴和後綴的零,所有數字都是有效的。比如 0.00012(兩位有效數字)會被記作 ,0.00122300(六位有效數字)會被記作 。後綴零都是有效的,沒有歧義。例如 1300 在有四位有效數字時,會被記作 ,而如果只有兩位有效數字,則會被記作 。
因此,科學記數法中,尾數也被稱作有效數。
修約與位數
有效數字的概念通常和修約一起使用。按照有效數字的位數修約比按照數字本身的位數修約通用,因為對於不同尺度的數字可以有相同的處理。例如,城市的人口數可以是精確到千位的 52000,而國家的人口數則會是精確到百萬的 52000000。前者可以有幾百的誤差,後者則可以有幾十萬的誤差,而它們都只有兩位有效數字(5 和 2)。也就是說,即便兩者在數量級上相差巨大,但兩者誤差的有效性相同(誤差與數據本身的比)。
可以用「保留 n 位有效數字」來描述按照有效數字的修約,做法如下: [3][4]
- 首先找出從第一個非零數字開始的 n 個連續的數字,認為只有這些數字才是有效數字。
- 如果最後一個有效數字後面緊跟的數字大於 5,或者緊跟著 5 但後面還有其它非零數字,那麼將最後一個有效數字加 1。例如 1.2459 保留三位有效數字後為 1.25。
- 如果最後一個有效數字後面緊跟著數字 5,而且後面沒有其它數字或者都是 0,修約時需要採用某種特定的規則。例如 1.25 保留兩位有效數字:
- 中值取高斯再加一(即「四捨五入」)後結果是 1.3。如果沒有特別說明,很多時候都使用這種方法。
- 中值取最靠近的偶數(即「四捨六入五成雙」)後的結果是 1.2。
- 將小數點前的所有非有效數字替換為 0。
- 將小數點後的所有非有效數字刪除(不能替換為 0)。
運算
- 加法運算,當對測量值進行加減運算時,應先完成計算,然後對答案四捨五入,看精確到小數點後的位數(以位數少的為準);
- 減法運算,則為先調整各數的有效位數使與減數中有效位數最小者相同,再進行減法運算。
- 例:3.86 m + 2.4 m = 6.3 m
- 乘除運算,應先對測量值進行計算後,把答案四捨五入到和測量值的最小精度值相同的有效數字位數;[5]
- 例:409.2 km / 11.4 L = 35.9 km/L
- 取對數(不管是常用對數還是自然對數,即不管對數的底數為何),按照有效數字的個數來確定小數點後的位數(位數等於個數);
- 取指數,按照小數點後的位數來確定有效數字的個數(個數等於位數);
- 科學常數和整數可以取任意位有效數字。
近似值
令 是某個數量的真值, 是 的近似值; 與 都用十進制表示。有效數字就是指 與 的多少位數字是一致的。確切地說, 有 的m位有效數字,則從 的左端非零數字所在位起,絕對誤差| |的前m個十進制數位為0,隨後一位數字取值從0到5. 例如:
- 5.1對真值5具有1位有效數字:|5.1-5|=0.1
- 0.51對真值0.5具有1位,而不是2位有效數字:|0.51-0.5|=0.01
- 4.995對真值5具有3位有效數字:|4.995-5|=0.005
- 4.994對真值5具有2位有效數字:|4.994-5|=0.006
- 1.4對真值2具有0位有效數字:|1.4-2|=0.6
如果 用科學記數法表示為 , 則 有 的m位有效數字,如果 。 有 的m位有效數字,則二者相對誤差不超過 。
參考文獻
- ^ significant figure - 有效數字. 國家教育研究院雙語詞彙、學術名詞暨辭書資訊網. [2018-06-27]. (原始內容存檔於2021-03-04).
- ^ 中原大學物理系 陳韋達 李偉 - 論乘除運算中有效數字之處理規則 (PDF). 論乘除運算中有效數字之處理規則.
- ^ Engelbrecht, Nancy; et al. Rounding Decimal Numbers to a Designated Precision (PDF). Washington, D.C.: U.S. Department of Education. 1990.
- ^ Numerical Mathematics and Computing, by Cheney and Kincaid (頁面存檔備份,存於網際網路檔案館).
- ^ Paul W. Zitzewitz,etc.(2005),"PHYSICS principles and Problems",McGraw-Hill Education Glencoe.