//函数功能:根据不同的版本,计算18位的版本信息:BCH(18,6) //参数说明: //strVersionNum -- 版本号(只有版本7-40才有版本信息,其它版本没有版本信息) //返回值:strVersionInformation -- 数据码字 CString CQRCodeDlg::CalculateVersionInformation(CString strVersionNum) { CString strVersionInformation; CString strDataInfo;/*数据信息*/ CString strGeneratorInfo = "000001111100100101";/*生成多项式信息*/ CString strDataBuffer; int nVersionNum;/*版本号*/ int nFlag1; int nFlag2; int nGeneratorInfo = 0; int nDataBuffer = 0; char buffer[6]; nVersionNum = atoi(strVersionNum); if (nVersionNum >= 7) { _itoa(nVersionNum,buffer,2); strDataInfo.Format("%06s",buffer); strDataBuffer = strDataInfo + "000000000000"; do { for(int i=17;i>=0;i--) { if (strGeneratorInfo[i] == '1') nFlag1 = i;/*除数,根据差值进行移位*/ if (strDataBuffer[i] =