盲點一 X 到底是什么
我們每個人都不一樣,同樣的,每個人的身份證也不一樣。別小看那短短的18 位數(shù),它們可是包含了很多信息呢——
1~6 位的地址碼表示戶口所在地的行政區(qū)劃代碼;7~14 位表示出生年、月、日;15~17 位是給同一地址碼區(qū)域范圍內同年同月同日生的人編訂的順序碼;而第18位則是校驗碼,有可能是0~9 中的任一數(shù)字或者X。如果說,前17 位數(shù)都好理解,那最后一位就有點費解了:怎么其他人都是數(shù)字,而我的是X 呢?
其實,這并不是英文字母中倒數(shù)第三位的X,而是羅馬數(shù)字里的10。那么,為什么不直接寫10 呢?因為如果直接寫10,身份證號碼就從18 位變成19 位了。在編碼學中,不一樣的位數(shù)很難存儲或者使用。設想一下:如果是那樣的話,你平時會遇到多少麻煩?。「鞣N電腦系統(tǒng)碰到你的信息估計也要“糾結”半天。所以,校驗碼是10 的小伙伴們就獲得了一串以X 為結尾的身份證號。
盲點二 X 是怎么來的
既然這個X 和其他10 個數(shù)字校驗碼性質都是一樣的,那它就是隨機產生的了?其實也不是,身份證上最后一個數(shù)字的背后可是包含了一套數(shù)學算法呢!這還要從為什么要有校驗碼說起。
想想看,我們平時在手機或電腦上輸入身份證號,會不會有手一滑打錯了的時候?比如,很有可能把2 打成3,因為這兩個數(shù)字是緊挨著的。那么,如果沒有檢查就這么提交上去,我們就會看到“無效號碼”的提示,這就是校驗碼在幫忙。
具體說來,身份證上的校驗碼是這么“幫忙”的:把前17 位數(shù)按照不同位數(shù)乘以不同的系數(shù),再把這17 個乘積加在一起,最后把相加所得的數(shù)除以11,這樣我們就得到了從0 到10 的余數(shù),這個余數(shù)就是身份證上的最后一位——當然,10 變成了X。如此一來,一旦我們手誤打錯了某個數(shù),前17 位數(shù)可就和最后一位校驗碼不匹配了。你看,無論是數(shù)字還是X,這小小的校驗碼是不是幫了大忙,維護了信息安全呢?
喬喬木,你別小看這套運算,它在數(shù)學界有個專有名詞:棄十一法。它的前身叫棄九法,來自阿拉伯,有上千年的歷史了。對了,生活中你還可以用這個方法進行大數(shù)字運算的驗算,有興趣的話,就去好好學學吧。
盲點三 X 還有什么用
到了這里,身份證尾號為X 的小伙伴們不會再對這個X 有所疑惑了吧?說起來,除了身份證,以X 為代表的校驗碼在生活中還有好多呢!
現(xiàn)在, 咱們就來找找看吧! 拿起手上這本《學與玩》雜志,我們會在封面左下角看到一個條碼,上面寫著ISSN 1003-2975。其中,ISSN 就是國際標準連續(xù)出版物號,前7 位數(shù)是數(shù)字序號,而最后一位則是校驗碼?!秾W與玩》的校驗碼是5,這是通過一系列計算得出的,現(xiàn)在想想看,你還知道哪本雜志的校驗碼是X 嗎?
此外,紀念鈔上的號碼也不是隨機產生的,包含了國家碼、廠商編碼、產品碼和校驗碼。如果隨隨便便寫一個號碼,它很可能不是合法有效的,這其中就有校驗的運算。再比如,超市購物看到的條形碼,最后一位也是校驗碼,一旦出現(xiàn)問題,系統(tǒng)就會報錯,這樣就保護了超市和顧客的利益不受損失。
我們常見的二維碼里不僅有校驗碼,還有更多信息,比如,識別碼。喬喬木,你不是好奇為什么有時二維碼被擋住一點,卻依然可以被識別嗎?這就是識別碼在幫忙,它的數(shù)學原理更復雜,咱們下次再說吧!
小鏈接
一起咬文嚼字
了解了身份證最后一位X 的來龍去脈,你知道怎么讀它了嗎?去年,關于它的正確讀法就沖上了熱搜。原來,X 既不讀“叉”,也不讀“??怂埂保鴳撟x“十”。想想也對,本來X 在身份證上就代表10 嘛!很多網友紛紛表示“長知識了”“原來一直念錯自己的身份證”,也有不少人擔心,真要在報身份證號的時候念成“十”,好像也容易造成誤解??磥?,對X“驗明正身”還需要時間。
(責任編輯:楊懿萱 排版:一凡)