问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

身份证号码的最后一位校验码是怎么计算出来的?

发布网友 发布时间:2022-04-23 13:22

我来回答

7个回答

热心网友 时间:2022-04-19 03:21

先将身份证前面的17位数分别乘以不同的系数,然后将每一个相乘的结果相加,用所得之和除以11,看余数是多少,余数是0--9尾数就是0-9,如果余数是10,那么身份证的第18位数字就用罗马数字的【χ代替】。

因为是10的话就有19位数字了,与身份证号码十八位数的国家标准不相符合。因为是10的话就有19位数字了,与身份证号码十八位数的国家标准不相符合。

X:英语中第24个字母。X 表示未知、无限,X 还有“目标”和“希望”,X 在社会学界表示“完美”,千言万语都可以用 X 来传递。数学中 X 在方程中通常表示未知数的值。在罗马数字中,X 表示十。

扩展资料:

身份证号码18位数字其表示的含义分别为:

第1、2位, 所在省份的代码;

第3、4位 :所在城市的代码;

第5、6位:所在区县的代码;

第7——14位 :出生年、月、日

(7、8、9、10位是年,11、12位是月,13、14位是日);

第15、16位 :所在地派出所的代码;

第17位 :奇数1、3、5、7、9表示男性,偶数2、4、6、8表示女性;

第18位:校检码:为0——9数字,或者罗马数字χ表示。

参考资料来源:百度百科-居民身份证号码

热心网友 时间:2022-04-19 04:39

第十八位数字的计算方法为:
1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.将这17位数字和系数相乘的结果相加。
3.用加出来和除以11,看余数是多少?
4余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。
5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。

例如:某男性的身份证号码是34052419800101001X。我们要看看这个身份证是不是合法的身份证。
首先:我们得出,前17位的乘积和是189
然后:用189除以11得出的结果是17 + 2/11,也就是说余数是2。
最后:通过对应规则就可以知道余数2对应的数字是x。所以,这是一个合格的身份证号码。

热心网友 时间:2022-04-19 06:14

用第1位数乘以2的16次方(即65536)
加上
第2位数乘以2的15次方(32768)
加上
第3位数乘以2的14次方(16384)
加上
第4位数乘以2的13次方(8192)
加上
第5位数乘以2的12次方(4096)
加上
第6位数乘以2的11次方(2048)
加上
第7位数乘以2的10次方(1024)
加上
第8位数乘以2的9次方(512)
加上
第9位数乘以2的8次方(256)
加上
第10位数乘以2的7次方(128)
加上
第11位数乘以2的6次方(64)
加上
第12位数乘以2的5次方(32)
加上
第13位数乘以2的4次方(16)
加上
第14位数乘以2的3次方(8)
加上
第15位数乘以2的2次方(4)
加上
第16位数乘以2的1次方(2)
加上
第17位数乘以2的0次方(1)
将所得的数乘以9再加上1的和除以11,所得的余数便是18位身份证号的最后一位(余数为10时最后一位是X)。

热心网友 时间:2022-04-19 08:05

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
int checkid(char * string)
{
int coefficient[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
int checksum=0;
int remainder=0;
int i;
char lastdigit;
for(i=0;i<17;++i)
{
checksum=checksum + (string[i]-'0')* coefficient[i];
}
remainder = checksum % 11;
if(remainder == 1)
{
lastdigit = '0';
}
else if(remainder == 0)
{
lastdigit = '1';
}
else if(remainder ==2)
{
lastdigit ='X';
}
else
{
lastdigit = 12-remainder + '0';
}
return(lastdigit == string[17]);
}
void getbirthday(char * id, int date[])
{
int year;
int month;
int day;
char string[100];
strcpy (string ,&id[6]);
string[4] = '\0';
year = atoi(string);
strcpy (string ,&id[10]);
string[2] = '\0';
month = atoi(string);
strcpy (string ,&id[12]);
string[2] = '\0';
day = atoi(string);
date[0]=year;
date[1]=month;
date[2]=day;
}
int getage(char * string)
{
int birthday[3];
int today[3];
int age;
getbirthday(string,birthday);
printf("请输入今天的年月日\n");
scanf("%d%d%d",&today[0],&today[1],&today[2]);
if(birthday[0] <= today[0])
{
if(birthday[1] > today[1])
{
age = today[0] - birthday[0] ;
}
else if (birthday[1] == today[1])
{
if (birthday[2] > today[2])
{
age = today[0] - birthday[0] - 1;
}
if (birthday[2] <= today[2])
{
age = today[0] - birthday[0];
}
}
else if(birthday[1] < today[1])
{
{
age = today[0] - birthday[0];
}
}
else
{
printf("生日错误!\n");
}
return age;
}
}
int getsex(char * id)
{
return(id[16] - '0')%2;
}
void shengxiao(char * id)
{
int birthday[3];
int result;
getbirthday(id,birthday);
result = ((birthday[0] - 2019)%12 + 12)%12;
switch(result)
{
case 0:printf("您的生肖为猪\n");break;
case 1:printf("您的生肖为鼠\n");break;
case 2:printf("您的生肖为牛\n");break;
case 3:printf("您的生肖为虎\n");break;
case 4:printf("您的生肖为兔\n");break;
case 5:printf("您的生肖为龙\n");break;
case 6:printf("您的生肖为蛇\n");break;
case 7:printf("您的生肖为马\n");break;
case 8:printf("您的生肖为羊\n");break;
case 9:printf("您的生肖为猴\n");break;
case 10:printf("您的生肖为鸡\n");break;
case 11:printf("您的生肖为狗\n");break;
default:printf("错误!");
}
}

void main()
{
char string[20];
char * id =string;

int birthday[3];
int today[3];
printf("请输入您的身份证号:\n");
scanf("%s",string);
if(checkid(string)){
printf("您的身份证号通过了校验\n");
}else{
printf("您的身份证非法!\n");
exit(0);
}
if(getsex(id))
{
printf("您的性别为男\n");
}else
{
printf("您的性别为女\n");
}
getbirthday(id,birthday);
printf("您出生于%d年%d月%d日\n",birthday[0],
birthday[1],birthday[2]);
printf("您今天是%d岁\n",getage(string));
shengxiao(id);
}

热心网友 时间:2022-04-19 10:30

出办身份证的时间不一样,校验证码是不是不一样

热心网友 时间:2022-04-19 13:11

关于事情的这个身份证号码的最后一位的校验码是怎么计算出来的?这个还真不太知道。这个也不知道是哪儿,可以进行对这个进行了计算。

热心网友 时间:2022-04-19 16:09

第十八位数字的计算方法为:
1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.将这17位数字和系数相乘的结果相加。
3.用加出来和除以11,看余数是多少?
4余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。
5.如果余数是10,身份证的最后一位号码就是罗马数字X。
数学书上这么写的
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
踏板摩托车没电了启动技巧 我经常睡觉时梦遗 情人节创意标语 酒店与情人节的宣传标语 为什么热敏电阻有对温度高度敏感的特性? 如何用安卓手机给电脑当摄像头用 用手机充当电脑摄像头的方法怎样用手机与电脑连接充当摄像头 EXCEL表格无法运行宏怎么解决呢 昂科威发动机舱盖电路对蓄电池短路怎么解决,仪表提示检修车辆,发动机报... 黑龙江康辉医疗器械有限公司怎么样? 请问互联网信息服务都包括哪些内容? 中国互联网信息发展协会? 身份证号码最后一位的校验原则是什么? 身份证校验位错误怎么办? 2021美国gdp和中国gdp对比是? 深圳互联网技术应用协会的协会成立 身份证的验证号是哪位? 武大哪些专业好?我看它和泰斗中医院签了互联网+技术服务协议,让儿子报互联网相关的专业如何? 哪个app可以看龙猫啊?就是宫崎骏导演的那个龙猫。。。 身份证号码的校验在身份证号码的第几位数字? 宫崎骏电影《龙猫》的高清下载 深圳互联网技术应用协会的入会须知 身份证校验位的校验位 【合集】国产tv在线看,【在线观看】免费百度云资源 中国互联网协会的主要职责 求:&lt;龙猫&gt;的国语下载!! 身份证号码的校验位是怎么计算的.. 龙猫国语版高清下载,不要400多M那个。要高清的,至少1G以上吧。国语配音,最好没有字幕。 龙猫电影国语版 【合集】科幻电影完整版国语,【免费高清】在线观看百度网盘资源 互联网软件技术服务协议范本 今年疫情冲击下中美经济差距详情 身份证寄几位数是校验码? 美国gdp和中国gdp对比是怎样的? 全球互联网的管理与服务机构是哪些?职责是什么? 中国gdp与美国的gdp是什么? 身份证的第18位校验码是怎样得来的? 什么是互联网应用服务? 身份证最后一位是校验位,算法也有wiki查的,谁能告诉我为什么要这么来设... 中国的GDP与美国的GDP差距会不会更近了? 中国经济总量和美国相差多少? 身份证的最后一位的效验码的公式是什么???(简单一点的公式) 什么是互联网IT技术? 美国的国民经济和中国的国民经济相差有多大 中国互联网协会中的理事会成员是个怎样的角色,日常需要做些什么工作? 身份证校验码干啥用? 2020年底,中国的GDP与美国的GDP差距会更近吗? 互联网和相关服务业具体是指哪些? 有了ICP许可证,就可以进行互联网经营,请问在工商局注册中的经营范围内要加入“互联*息技术服务“范围 中国与美国的经济实力相差多少?
  • 焦点

最新推荐

猜你喜欢

热门推荐