2008年5月21日 星期三

身份証編碼公式

身份証共有 1 個英文字加上有 9 個數字來表示, 分成 4 個部份
第 1 碼是英文為出生地, 需查表
第 2 碼是性別 (1=男, 2=女)
第 3 部份從第 3 碼到第 9 碼為序號
第 4 部份第 10 碼為檢查碼, 是由前 9 碼經過計算而得
檢查碼的計算: 以 A12345678 為例, 計算第 10 碼


順序n1n2n3n4n5n6n7n8n9
字元A12345678


步驟一: 將第一位英文查表得到兩個數值 (n0 及 n1)
本例的值: A=10(n0=1, n1=0)


出生地台北市台中市基隆市台南市高雄市台北縣宜蘭縣桃園縣嘉義市
英文ABCDEFGHI
n0+n1101112131415161734


出生地新竹縣苗栗縣台中縣南投縣彰化縣新竹市雲林縣嘉義縣台南縣
英文JKLMNOPQR
n0+n1181920212235232425


出生地高雄縣屏東縣花蓮縣台東縣金門縣澎湖縣陽明山連江縣 
英文STUVWXYZ 
n0+n12627282930310833 


步驟二:套入求和公式:
公式:n0+(n1x9)+(n2x8)+(n3x7)+(n4x6)+(n5x5)+(n6x4)+(n7x3)+(n8x2)+n9
實做:1+(0x9)+(1x8)+(2x7)+(3x6)+(4x5)+(5x4)+(6x3)+(7x2)+8=121


步驟三:求步驟二的總和除以10的餘數
121 除以 10 = 12 餘 1


步驟四:用10減去餘數就可得到檢查碼(若剛好整除則檢查碼就是0)
10-1=9(檢查碼=9)

沒有留言: