CRC16算法系列文章:

 

功能

实现CRC16-CCITT-MODBUS算法

支持int、short类型

支持选择数组区域计算

实现

  1. /**
  2. * crc16_ccitt_modbus算法(四字节)友情提示:做好自己!--eguid博客地址:http://blog.csdn.net/eguid_1
  3. * @param buf
  4. * @param offset
  5. * @param length
  6. * @return
  7. */
  8. public static int crc16_ccitt_modbus(byte[] buf,int offset, int length) {
  9. int i, j;
  10. int c, crc = 0xFFFF;
  11. for (i = offset; i < length; i++) {
  12. c = buf[i] & 0x00FF;
  13. crc ^= c;
  14. for (j = 0; j < 8; j++) {
  15. if ((crc & 0x0001) != 0) {
  16. crc >>= 1;
  17. crc ^= 0xA001;
  18. } else
  19. crc >>= 1;
  20. }
  21. }
  22. return crc;
  23. }
  24.  
  25. /**
  26. * crc16_ccitt_modbus算法(四字节)
  27. * @param buf
  28. * @return
  29. */
  30. public static int crc16_ccitt_modbus(byte[] buf) {
  31. return crc16_ccitt_modbus(buf,0,buf.length);
  32. }
  33.  
  34.  
  35. /**
  36. * crc16_ccitt_modbus算法(两字节)
  37. * @param buf
  38. * @param offset
  39. * @param length
  40. * @return
  41. */
  42. public static int crc16_ccitt_modbus_short(byte[] buf,int offset, int length) {
  43. return (short)crc16_ccitt_modbus(buf,offset,length);
  44. }
  45.  
  46. /**
  47. * crc16_ccitt_modbus算法(两字节)
  48. * @param buf
  49. * @return
  50. */
  51. public static int crc16_ccitt_modbus_short(byte[] buf) {
  52. return (short)crc16_ccitt_modbus(buf,0,buf.length);
  53. }

CRC16算法之三:CRC16-CCITT-MODBUS算法的java实现的更多相关文章

  1. C++与JAVA代码实现CRC-16/MODBUS算法,且与 http://www.ip33.com/crc.html 进行结果验证

    CRC-16/MODBUS的多项式为:x16+x15+x2+1(8005),宽度为16.运算时,首先将一个16位的寄存器预置为11111111 11111111,然后连续把数据帧中的每个字节中的8位与 ...

  2. CRC16算法之二:CRC16-CCITT-XMODEM算法的java实现

    CRC16算法系列文章: CRC16算法之一:CRC16-CCITT-FALSE算法的java实现 CRC16算法之二:CRC16-CCITT-XMODEM算法的java实现 CRC16算法之三:CR ...

  3. 7.redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?

    作者:中华石杉 面试题 redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗? 面试官心理分析 在前几年, ...

  4. 基于改进人工蜂群算法的K均值聚类算法(附MATLAB版源代码)

    其实一直以来也没有准备在园子里发这样的文章,相对来说,算法改进放在园子里还是会稍稍显得格格不入.但是最近邮箱收到的几封邮件让我觉得有必要通过我的博客把过去做过的东西分享出去更给更多需要的人.从论文刊登 ...

  5. 图的生成树(森林)(克鲁斯卡尔Kruskal算法和普里姆Prim算法)、以及并查集的使用

    图的连通性问题:无向图的连通分量和生成树,所有顶点均由边连接在一起,但不存在回路的图. 设图 G=(V, E) 是个连通图,当从图任一顶点出发遍历图G 时,将边集 E(G) 分成两个集合 T(G) 和 ...

  6. [Algorithm] 群体智能优化算法之粒子群优化算法

    同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...

  7. 【转】常用聚类算法(一) DBSCAN算法

    原文链接:http://www.cnblogs.com/chaosimple/p/3164775.html#undefined 1.DBSCAN简介 DBSCAN(Density-Based Spat ...

  8. JVM内存管理------GC算法精解(复制算法与标记/整理算法)

    本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法.上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此基础上演化而来的,究竟这两种算法优化了之前标记/清除算法的哪些问题呢? 复制算 ...

  9. 常用聚类算法(一) DBSCAN算法

    1.DBSCAN简介 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度 ...

随机推荐

  1. MVC总结--MVC简单介绍以及和WebForm差别

    什么是MVC MVC(Model-View-Controller.模型-视图-控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Cont ...

  2. jdk并发工具包之锁

    1.cynchronized扩展:可重锁入ReentrantLock ReentrantLock是通过cas算法实现的 RenntrantLock lock=new ReentrantLock(); ...

  3. Centos 7.0防火墙问题

    从Centos7开始,自带的防火墙从iptables更改成了firewall.一般在企业环境,出于人力和稳定性考虑,还是用成熟的技术比较稳妥. 以下是关闭firewall的方法 systemctl s ...

  4. Go开发常见陷阱

    Go作为一种简便灵巧的语言,深受开发者的喜爱.但对于初学者来说,要想轻松驾驭它,还得做好细节学习工作. 初学者应该注意的地方: 大括号不能独立成行. 未使用变量错误——对于全局变量和函数参数变量,是可 ...

  5. PowerBuilder -- 结构类型(structure)

    http://bbs.csdn.net/topics/3501120743楼答复 PB的structure分两种,全局的和局部的,两者只有作用域不同. 全局的在file/new/pb object/s ...

  6. iOS项目 -- 模仿花椒直播做的第一层次界面

    公最近直播比较火爆,我也跟跟风,自己做一个直播app, 现在打算用金山云直播的,但是去注册的时候,联系那边的工作人员,他们讲使用金山云直播要有公司和他们线下签约才能授权开放直播平台. 怎么办呢?于是我 ...

  7. tableView的cell显示不全的问题

    如果是最上面的cell没有显示完整 1.重新设置tableview的frame: 例如你的搜索框高度为50,那么设置self.tableview.frame= CGRectMake(0,50,self ...

  8. H2 应用实例1

    说明:本例子开发工具为NetBeans,jdk 1.7 进行测试说明 H2安装说明如下 1. H2数据库必要文件下载地址为: http://www.h2database.com     (1) 下载截 ...

  9. 【题解】数字组合(NTT+组合 滑稽)

    [题解]数字组合(NTT+组合 滑稽) 今天实践一下谢总讲的宰牛刀233,滑稽. \((1+x)(1+x)(1+x)\)的\(x^2\)系数就代表了有三个一快钱硬币构成的两块钱的方案数量. 很好理解, ...

  10. Python正则表达式Cheat sheet

    1.来源: Python Regular Expressions Cheat Sheet 2.内容: Special Characters ^ | Matches the expression to ...