快速业务通道

喘JAVA糞?CRC16丕刮鷹 - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
temp, pos;              // Division system. 茅隈匂。              for (int i = 0; i < sourceLength; i++) {                    // Count value of the input adding the first register.                    // 喘及i了圻鷹才及匯倖篠贋匂峙庁屈紗。                    temp = (crcCodes[sourceLength] + sourceCodes[i]) % 2;                    // Move registers forwards from (1, length) to (0, length - 1).                    // 及屈倖篠贋匂式參朔議侭嗤篠贋匂峙念卞1了。                    System.arraycopy(                          crcCodes, sourceLength + 1, crcCodes, sourceLength, multinomial[0] - 1);                    // Set the last register with counted value.                    // 恷朔匯倖篠贋匂峙贋慧柴麻挫議補秘峙。                    crcCodes[codesLength - 1] = temp;                    // Count other registers. 梓伏撹謹?塀議峙麻竃了崔?庁屈紗竃乎篠贋匂議峙。                    for (int j = index.length - 2; j > 0; j--) {                          pos = codesLength - multinomial[j] - 1;                          crcCodes[pos] = (crcCodes[pos] + temp) % 2;                    }              }              return crcCodes;        }        public static void main(String[] args) throws IOException {              System.out.print("Input hex data :");              StringBuffer buf = new StringBuffer();              char ch = (char) System.in.read();              while (ch != ''\r'' && ch != ''\n'') {                    buf.append(ch);                    ch = (char) System.in.read();              }              // Get binary codes.              int[] b = CRC16Checker.getBinary(buf.toString());              // Make CRC codes.              b = CRC16Checker.makeCRCCodes(b, CRC16Checker.index);              // Output code as binary number.              for (int i = 0; i < b.length;) {                    for (int j = 0; j < 4; j++, i++) System.out.print(b[i]);                    System.out.print('' '');              }              System.out.println();              // Output code as hex number.              System.out.println("The CRC16 code is :" + CRC16Checker.toHex(b));        } }

3. Test report :

Case : A ?ASCII = 41? Result : 410186 CRC bits : 0168 ?0000 0001 1000 0110? Run program : Input hex data :A 0100 0001 0000 0001 1000 0110 The CRC16 code is :410186 Case : CRC16TEST ?ASCII = 43 52 43 31 36 54 45 53 54? Result : 45524331365445

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号