说起来这个身份证号一位的“X”,我以前也没当回事儿,就觉得是个字母呗。直到有一次,我妈帮我老舅家孩子办点事儿,需要录入身份证信息。老舅那孩子身份证号一位就是个“X”。结果,系统老是报错,提示说格式不对。我妈急得团团转,打电话问我,说是不是派出所给打错了,怎么会出来个字母?我当时就纳闷了,按理说身份证号都是数字,怎么就蹦出来个X?这事儿就这么在我心里扎了个根。
本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu
我当时就觉得,这肯定不是随便印上去的,国家发的证件,哪能有这种低级错误?于是我就跟我妈说,你别急,我琢磨琢磨,这背后肯定有说法。那几天,我闲下来就琢磨这事儿。我跟我几个搞IT的朋友聊了聊,他们也说知道有“X”这回事儿,但具体为怎么算出来的,他们也说不清楚,就说是个校验码什么的。这话说得,跟我没说一样,我还是稀里糊涂。
后来我就自己动手了,开始上网扒拉资料。我那会儿就想着,这东西既然是校验码,那肯定有它一套算法,肯定不是瞎蒙的。我就一篇一篇地看,什么身份证编码规则,18位身份证校验码算法,反正只要标题里有这些字眼的,我都点进去看。一开始看那些专业的术语,我看得一头雾水,什么“加权系数”、“模11余数”的,把我看得直打瞌睡。但是我这人就是这样,越不懂,越想搞明白。
我就硬着头皮看,看到后来慢慢地,就有点儿门道了。我发现,好多文章都在讲一个东西,就是说身份证号不是随便编的,前面17位数字确定了你的出生地、出生日期、性别这些信息,而这第18位,也就是一位,它是个“校验码”。这个校验码,就是为了防止我们输错或者印错前17位数字用的。打个比方,就像你点菜,厨师做了份菜,他得自己尝一口,确定味道没问题才给你端上来。这一位“X”,就有点儿那个“尝一口”的意思。
我怎么摸到门道的?
我仔细研究了半天,终于给我研究明白了。我发现,这一位的校验码,它的计算过程挺有意思的。我就把这个“秘密”给摸透了,今天就跟大家伙儿掰扯掰扯。
-
第一步:每个数字都有自己的“分量”。
咱们的身份证号是18位的,前面17位都是数字。你得给这17个数字,从左到右,每个数字都乘以一个固定的“权重数”,也叫“加权系数”。这权重数,也是有讲究的:
第一个数字乘以7,第二个乘以9,第三个乘以10,第四个乘以5,第五个乘以8,第六个乘以4,第七个乘以2,第八个乘以1,第九个乘以6,第十个乘以3,第十一个乘以7,第十二个乘以9,第十三个乘以10,第十四个乘以5,第十五个乘以8,第十六个乘以4,第十七个乘以2。
看着有点儿绕是不是?我当时也觉得挺麻烦的,就自己把这些数字都列出来,生怕搞错了。
-
第二步:把这些乘积全都加起来。
你把上面17个数字分别乘以它们对应的权重数之后,会得到17个新的数字。然后,你把这17个新的数字,一个不落地,全部加在一起。得到一个总和。
-
第三步:除以11,看余数。
把第二步得到的那个总和,除以11。注意,我们不要商,只要那个“余数”。这个余数,就是判断一位校验码的关键。
-
第四步:余数对照表,找到校验码。
这个余数出来之后,就有一个对照表了。我也把这个表给摸清楚了:
- 如果余数是0,那一位校验码就是1。
- 如果余数是1,那一位校验码就是0。
- 如果余数是2,那一位校验码就是X(注意,是字母大写的X)。
- 如果余数是3,那一位校验码就是9。
- 如果余数是4,那一位校验码就是8。
- 如果余数是5,那一位校验码就是7。
- 如果余数是6,那一位校验码就是6。
- 如果余数是7,那一位校验码就是5。
- 如果余数是8,那一位校验码就是4。
- 如果余数是9,那一位校验码就是3。
- 如果余数是10,那一位校验码就是2。
你看,这里面就有“X”了!当余数是2的时候,校验码就是“X”。
我老舅那孩子身份证号一位是“X”,根本不是什么印错了,也不是系统出错了。而是说,根据他身份证前17位数字算出来的那个余数,刚好就是2,所以对照表一看,就是个“X”。这个“X”在罗马数字里,代表的是10。所以它不是乱来的,它就是个数字“10”的变身,为了让身份证号保持18位的统一性,才用“X”来表示。
当我把这套逻辑搞明白,又给我妈解释清楚之后,她才恍然大悟。所以说,别看一个小小的“X”,背后藏着不少学问。也正是这回经历,让我对生活中的这些小细节充满了好奇,很多我们习以为常的东西,都有它自己的道理和逻辑在里面。以后再遇到什么觉得奇怪的事儿,我都会想着去扒拉扒拉,搞明白它,这感觉还真不错。