你是不是觉得身份证号码那个“X”怎么读都不对?反正问的人五花八门,有嫌带“X”丢脸的,有说是“X战警”的,还有特意跑来打趣的。真要较真起来,“X”就是罗马数字里的10,念shí才正理。 其实“X”是有来头的,你听说过两个“V”加起来是10吗?就是个简单的交叉双臂形状。要是它直接写成“10”,身份证号码立马就长到19位了,国家标准里规定的可是18位啊。没办法,它就只能当替补队员顶替数字10的位置,把号码控制在18位以内。 这套算法是国家定的,叫GB11643—1999。它用的是ISO 7064里的MOD 11-2系统。说白了就是前17位大哥凑钱给最后一位买单。每个位置上的数字都要乘以不同的权重加起来算总数,再除以11取余数。 要是余数加上最后一位数(其实就是校验码)再除以11余数是1,就说明这个号码没错。万一填错了或者写反了,系统马上就会报警吹哨。这就好比身份证自带的保安一样,专门盯着你别出错。 举个例子:有个18位的身份证号,前17位数字按照公式算出来是157。把157除以11余数是9。那校验码就是11减去9等于2。所以最后一位就应该是2。 看到这儿你可能晕了没关系,反正国家标准已经把所有可能的结果都列成表了。以后遇到有人问你那个“叉”怎么读,你就把胸膛挺起来说:“这不是叉!这是罗马数字10!我是经过国家认证、数学算法加持的完美校验码选手!”毕竟这串号码可不只是一串冷冰冰的数字,它更是独一无二的你。 最后得说声谢谢:江苏警方、云南警方提供了素材;兰州市公安局新闻宣传科负责发布;崔剑波负责编辑;刘胜男负责审核。