& @$ ]( F- l/ h2 T- F' x6 y原來這亦是用來防止一般人一個容易犯上的錯誤,這就是誤將其中的兩個數字的位置對調。例如:將 “H856249(2)” 錯誤地變成 “H856294(2)”。% E0 _" C' ?0 B9 b; ~0 T) t- _5 |# t
. ~6 E& F) U5 p我們再假設正確身份證號碼的核對值為 A,第 k 位的數字為 a,第 k + n 位的數字為 b(a ¹ b;n ³ 1),如果我們錯誤地將 a、b 兩個數字對調了,那麼該核對值便會變成 F) ^1 y7 Q2 C7 ]4 m
9 |: o! @5 r5 b+ g* L
A - a ´ k - b ´ (k + n) + a ´ (k + n) + b ´ k = A + (a - b) ´ n 6 {4 N+ `) S/ j8 |6 A5 X" N: m5 f3 l' w
同理,a、b 和 n 都祇會是 0 至 9 之間的數字,故此 (a - b) ´ n 這個部分,以至是整個核對值,都不能被 11 所整除,由此可以知道輸入的資料有錯了。留意如果沒有這個位值倍數,我們就無法偵測出這種錯誤了。 . E- t7 p! I" |7 x c6 N) G, ? , Q$ b7 k/ ]0 R9 g' o9 S總而言之,身份證號碼中的核對數位,是一個簡單但非常聰明的設計,它可以讓我們很容易地偵測出輸入資料時的兩種常犯的錯誤,從而確保資料的可靠性。在整個過程中,亦請大家細心欣賞 11 這個數字的功用。由於 11 是一個質數(而且剛好大於 10),任何兩個小於它的數字相乘,都不能被它所整除,所以才能夠在上述運算中,找到輸入時的錯誤。如果換了一個合成數,情況就不同了。例如:12,我們知道 4 和 6 都小於 12,但 4 ´ 6 的結果,卻能被 12 所整除,因此 12 不可以用來做核對過程中的除數。 ( F4 J- f- L4 v- W$ ~ ; b; s( s& F3 A3 k3 B, b% i最後,個人認為,既然核對數字已經成為身份證號碼中一個不可或缺的一部分,故此我們其實亦不必將它特別地指明,以一對括號將它括起來。更何況,將它括起來後,更會引起一些不知情的人胡亂猜測,實在無謂。故此,我提議政府在改發新的身份證明文件的同時,將這一對括號刪去。這不是更好的嗎?作者: mingP 時間: 2005-7-2 10:29 PM
malaysia 1 how???=.='''作者: 1986 時間: 2005-7-2 10:45 PM
我聽過p=新移民的說法作者: gaye 時間: 2005-7-2 11:12 PM
這是真的, V1 m8 ?- B5 \% b; g
Form 5 電腦堂書本有講, 個個位叫 Check Digit作者: 馬仔~~ 時間: 2005-7-2 11:28 PM
好似好難明....作者: andymaldini 時間: 2005-7-2 11:43 PM
有冇可以提供頭頭d英文有冇意思8 {! L. r u) h" n
P,H,V 好似係新移民0 D7 u+ w4 T6 i' H- d' J. i
R. XG 好似係攞WORK PERMIT+ Z5 c9 N% x" e# m! W/ o- t
K,G,Z 多數香港出世,住左香港好多年作者: 冷 時間: 2005-7-3 10:17 AM