標籤:

身份證號碼最後一位為什麼要出現X?

有人說,最後一位X代表10,怕號碼多出一位才用了一個羅馬數字。可是誰能告訴我,為什麼要出現X?10多出一位,不用就好啦,難道0-9還不夠用嗎?非要多出一個數就能解決問題了嗎?求解。


18位身份證號的最後一位根據前17位計算得出,計算公式是:x=Sigma (Ai	imes 2^{17-i+1} ) mod 11 ,其中i=1,2,3,...,17,Ai是第i位身份證號碼(從左往右數),x結果是從0到10,分別對應的身份證最後一位是1 0 X 9 8 7 6 5 4 3 2。

所以:

(1)因為mod11,才會出現11個數,加入了x

(2)之所以mod11,而不是10,是因為取模通常取的是素數


居民身份證的號碼是按照國家的標準編製的,由18位組成:前六位為行政區劃代碼,第七至第十四位為出生日期碼,第15至17位為順序碼,第18位為校驗碼。作為尾號的校驗碼,是由號碼編製單位按統一的公式計算出來的,如果某人的尾號是0-9,都不會出現X,但如果尾號是10,那麼就得用X來代替,因為如果用10做尾號,那麼此人的身份證就變成了19位,而19位的號碼違反了國家標準,並且我國的計算機應用系統也不承認19位的身份證號碼。Ⅹ是羅馬數字的10,用X來代替10,可以保證公民的身份證符合國家標準。但是我國的居民身份證在升位後,一些人的尾號變成了X,這部分人在工作生活中,例如去銀行存取錢、去汽車公司租賃汽車或者報名參加考試等等過程中,往往不被檢驗者理解,認為是假身份證,這樣的誤會給很多人的生活帶來不便。公安局的同志希望領到X身份證的同志正確理解這個數字的含義,查驗身份證的機關和單位更應該清楚這一點。

另外,倒數第二位,單數的是漢子,偶數是妹子。


在看到這個問題之前,我一直以為,之所以我身份證號末位是X,是因為我是被選中的孩子 (?_?)

原來天河倒轉日月逆行夢想破滅無奈長大,真的只是一瞬間的事情……


當年設計這個校驗演算法的人太傻


因為設計身份證末位校驗演算法的人無能。


居民身份證的號碼是按照國家的標準編製的,由18位組成:前六位為行政區劃代碼,第七至第十四位為出生日期碼,第15至17位為順序碼,第18位為校驗碼。

作為尾號的校驗碼,是由號碼編製單位按統一的公式計算出來的,如果某人的尾號是0-9,都不會出現X,但如果尾號是10,那麼就得用X來代替,因為如果用10做尾號,那麼此人的身份證就變成了19位,而19位的號碼違反了國家標準,並且我國的計算機應用系統也不承認19位的身份證號碼。Ⅹ是羅馬數字的10,用X來代替10,可以保證公民的身份證符合國家標準。這也是我國的居民身份證在升位後產生的結果。


就是這樣設計的。這也是國外某些校驗碼設計的一個習慣。主要是為了獲得比較好的校驗特性。

二代身份證號碼不是一個18位數字,而是一個18個字元的字元串。這麼理解就行了。


可能是《嫌疑人X的獻身》吧~

原諒我就是這麼大的腦洞~

微信公共號:oukohou

一起來開更大的腦洞~


推薦閱讀:

僅憑藉身份證號碼可以識別一個人的性別嗎?
在人戶分離狀態下,丟了身份證如何乘坐交通工具回家鄉補辦呢?
推廣網路身份證對個人隱私的影響有多嚴重?

TAG:身份證 |