身份證號最後一位是該身份證的校驗碼,如果出現X,該X並不是英文字母X,而是羅馬字母X,代表數字10。
作為尾號的校驗碼,是由號碼編制單位按統一的公式計算出來的,如果尾號是10,那就用X替代,因為如果用10作尾號,此人的身份證號碼就變成了19位,為了身份證號碼數位的一致性,用羅馬字母X替代10。
居民身份證的號碼是按照國家的標準編制的,由18位組成:前六位為行政區劃程式碼,第七至第十四位為出生日期碼,第15至17位為順序碼,第18位為校驗碼。
身份證號最後一位是該身份證的校驗碼,如果出現X,該X並不是英文字母X,而是羅馬字母X,代表數字10。
作為尾號的校驗碼,是由號碼編制單位按統一的公式計算出來的,如果尾號是10,那就用X替代,因為如果用10作尾號,此人的身份證號碼就變成了19位,為了身份證號碼數位的一致性,用羅馬字母X替代10。
居民身份證的號碼是按照國家的標準編制的,由18位組成:前六位為行政區劃程式碼,第七至第十四位為出生日期碼,第15至17位為順序碼,第18位為校驗碼。
身份證號最後一位數字是“個人資訊碼”,資訊碼用0—9的數字來表示,有時也用字母“x”表示,一般是由計算機隨機產生的,主要是用來檢驗身份證的正確性,如果該居民的校驗碼剛好是10,那麼就會用“X”來表示。
身份證的1—6位是地址碼,7—14位代表的是出生日期,15—17是順序碼,最後一位是校驗碼。
身份證的前六位是地址碼,1—2位代表的是省級行政區,3—4位代表的是地級行政區,5—6位代表的是縣級行政區。
順序碼是對同一地區內,當年同月同日出生的居民所編訂的號碼,其中第十七位數是奇數代表男性,偶數代表女性。
身份證是我們日常使用的證件,有18位數字組成,具有唯一性,但有些人身份證最後一位是X,這X代表什麼意思呢?身份證末尾X是怎麼來的?下面小編就帶來介紹。
其實,這並不是字母X,而是羅馬數字裡的10。為什麼不寫10呢?因為如果是10,寫出來身份證號碼就變成19位了。在編碼學中,不一樣的數位就不太容易儲存或者使用。
末尾X的誕生,其實全靠前17位數的“支援”。
現在通行的身份證是第二代居民身份證,其中的18位身份證號碼,也成了每個人都刻在腦子裡的數字。身份證號末尾的X代表的也是數字,表示數字“10”。
民身份號碼共有18位數字:
6位地址碼,按照《中華人民共和國行政區劃程式碼》(GB/T 2260)確定的,戶口所在地縣一級行政區劃程式碼。由於行政區劃程式碼在歷史上經過多次修訂,所以就算是同一個地區出生的人,前六位也不一定相同。
8位出生日期碼,四位數年份+2位數月份+2位數日期。
3位順序碼,男性為奇數,女性為偶數。
最後再加一位校驗碼。
身份證號碼充滿了“隨機性”——我們沒法計劃自己何時出生、出生在何地。不過最後的這位校驗碼,卻成了“不確定中的確定”。只要前17位都定下來了,最後這一位數字也就確定了。它是透過一套演算法,將前17位數字代入運算得出來的數字。
這樣費勁算數的目的,是為了以後檢查錯誤更方便。身份證號碼在輸入的時候可能出現各種錯誤,除了漏字、多字這種位數顯而易見的錯誤外,輸錯數字都不容易被發現。校驗碼則可以“反推”出身份證號碼是否錄入正確,甚至可以識別出相鄰兩位填反、錯位等錯誤。
當然,校驗碼只是為防止隨機發生的錯誤,它不能檢查出有意的偽造錯誤,也不能用來自動更正發現的錯誤。
結尾出現X,都得“怪”這套校驗演算法。這套演算法採用的方法是取模11,得出的計算結果範圍是0到10。但身份證只有18位,結尾變成10就多了一位。這才把10的“重任”交給X來表示。
簡單點說,X的出現是因為模數取了11。設計校驗演算法,是希望讓演算法儘可能覆蓋到常見的身份證號碼錄入錯誤。對於取模11的情況而言,ISO 7064標準的附錄A給出了該演算法的有效性:能識別到所有的單替換、單換位和位移錯誤,對雙替換錯誤的識別率也有90%。