当前位置:  开发笔记 > 编程语言 > 正文

将CRC算法从C转换为Java

如何解决《将CRC算法从C转换为Java》经验,为你挑选了1个好方法。



1> Zbynek Vysko..:

根据代码,我猜BYTEWORD是无符号短和两个字节结构的联合,因此作者可以轻松访问这个短的高低字节,即:

typedef union BYTEWORD
{
     short w;
     struct {
         char lo, hi;
     } b;
} BYTEWORD;

由于Java不支持工会(和在讨论中提到,有与上述端漏洞),你将不得不使用>>,|&运营商获得短期的高和低8位:

  short retval_w = -1;
  ...
  retval_w = ((retval_w>>8)&0xff) ^ (ccittrev_tbl[(retval_w&0xff) ^ (data[i]&0xff)]);

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有