
身份证的最后一位校验码是根据什么公式算出来的?
1个回答
展开全部
excel中的数组公式:
=REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)
按 ctrl + shift + 回车结束公式
意思是以2为底,从17~1每个数为幂分别求值,再以11为除数,分别求出该17个值的余数,再分别与15位身份证号添加"19"后的17个数相乘,并求这个17乘积的和,再将该和除以11,求余数.
最后,
如果余数是0,第18位是1;
是1,第18位是0;
是2,第18位是X;
如果大于2,第18位是12-余数的差
=REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)
按 ctrl + shift + 回车结束公式
意思是以2为底,从17~1每个数为幂分别求值,再以11为除数,分别求出该17个值的余数,再分别与15位身份证号添加"19"后的17个数相乘,并求这个17乘积的和,再将该和除以11,求余数.
最后,
如果余数是0,第18位是1;
是1,第18位是0;
是2,第18位是X;
如果大于2,第18位是12-余数的差
参考资料: http://zhidao.baidu.com/question/70430105.html
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询