JavaScript实现:

var orderbuffer = new ArrayBuffer(2) // 计算

var dataView= new Uint8Array(orderbuffer)

dataView[0] = 4

dataView[1] = 8

var checksum = crc8.checksum(dataView)

// "Class" for calculating CRC8 checksums...

function CRC8(polynomial, initial_value) { // constructor takes an optional polynomial type from CRC8.POLY

if (polynomial == null) polynomial = CRC8.POLY.CRC8_CCITT

this.table = CRC8.generateTable(polynomial);

this.initial_value = initial_value;

}

// Returns the 8-bit checksum given an array of byte-sized numbers

CRC8.prototype.checksum = function(byte_array) {

var c = this.initial_value;

for (var i = 0; i < byte_array.length; i++ )

c = this.table[(c ^ byte_array[i]) % 256]

return c;

}

// returns a lookup table byte array given one of the values from CRC8.POLY

CRC8.generateTable =function(polynomial)

{

var csTable = [] // 256 max len byte array

for ( var i = 0; i < 256; ++i ) {

var curr = i

for ( var j = 0; j < 8; ++j ) {

if ((curr & 0x80) !== 0) {

curr = ((curr << 1) ^ polynomial) % 256

} else {

curr = (curr << 1) % 256

}

}

csTable[i] = curr

}

return csTable

}

// This "enum" can be used to indicate what kind of CRC8 checksum you will be calculating

CRC8.POLY = {

CRC8 : 0xd5,

CRC8_CCITT : 0x07,

CRC8_DALLAS_MAXIM : 0x31,

CRC8_SAE_J1850 : 0x1D,

CRC_8_WCDMA : 0x9b,

}

var crc8 = new CRC8();

module.exports = crc8;

java crc8_Crc8算法相关推荐

  1. Java排序算法:冒泡排序

    Java排序算法:冒泡排序 //创建数组并赋值int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};for(int i=0 ...

  2. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  3. JAVA经典算法50题(转)

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1]   题目:古典问题:有一对兔子, ...

  4. java经典算法四十题

    java经典算法四十题 [程序9]题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ".例如6=1+2+3.编程找出1000以内的所有完数. public class W ...

  5. JVM(3):Java GC算法 垃圾收集器

    概述 垃圾收集 Garbage Collection 通常被称为"GC",它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了. jvm 中,程序计数 ...

  6. java序列化算法透析_Java序列化机制与原理的深入分析

    Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.Java序列化API提供一 ...

  7. Java的算法讲解以及案例!

    算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,java算法就是采用Java语言来实现解决某一问题的清晰指令. 算法的特征: 输入性:有零个或多个外部量作为算法的输入 输出性:算法产生 ...

  8. 26 Java GC算法 垃圾收集器、标记 -清除算法、复制算法、标记-压缩算法、分代收集算法

    26.Java GC算法 垃圾收集器 1.1.1标记 -清除算法 1.1.2复制算法 1.1.3标记-压缩算法 1.1.4分代收集算法 26.Java GC算法 垃圾收集器 概述 垃圾收集 Garba ...

  9. List精讲(Java版)·算法常用集合处理方法

    List精讲(Java版)·算法常用集合处理方法 请仔细查阅每一个注释: import java.util.ArrayList; import java.util.Collections; impor ...

  10. java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!

    JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...

最新文章

  1. 信息网络传播权保护条例(2006)
  2. 一个函数统一238个机器学习R包,这也太赞了吧
  3. 详解华为12种数据采集技术及应用实践
  4. Oracle创建数据库出错,oracle 10g dbca创建数据库出错 急急急
  5. 【思维导图】演绎推理和归纳推理基础概念
  6. 微信网站域名如何做防封和防屏蔽技术
  7. 考研政治---马克思主义基本原理概论---认识论
  8. Facebook广告投放有哪些比较好的策略?
  9. vue2 provide和inject的使用
  10. 2020最火爆BI产品对比来啦!亿信ABI VS FineBI数据分析谁最行
  11. Hazel引擎学习(四)
  12. 如何分发大文件、大文件传输解决方案
  13. 发现电脑屏幕总是不自动关闭?看看你是否打开了这些程序……
  14. FPGA交通灯 Verilog Modelsim
  15. 恶梦护士 asa_敏捷街上的噩梦2:受控敏捷
  16. atheros有线网卡LINUX驱动,新版Atheros AR81系列有线驱动
  17. Mysql的两阶段锁协议
  18. Socket.io之Socket类
  19. Python 教程之输入输出(1)—— 在 Python 中接受输入
  20. 移动端js判断手指滑动方向

热门文章

  1. 如何查询手机当前基站编号信息
  2. 自己写的一个GPS卫星地图
  3. 百度AI图像识别——红酒识别、货币识别、车辆检测等
  4. 读李虹之《画法几何及机械制图》
  5. mysql交叉编译 cmake_cmake交叉编译参数toolchain
  6. 数组存储地址的计算 --数据结构
  7. 海阔天空 在勇敢以后 --我的求职路
  8. pe 引导win7镜像 激活
  9. linux使用dwc串口,linux自带usb gadget设备驱动应用
  10. 【Unity】ET框架学习笔记