小编Nik*_* G.的帖子

将用C编写的CRC 8函数转换为Java

我试图将CRC8函数从C转换为Java.

我从硬件制造商那里得到了这个代码:

uint8_t CRCCalc (uint8_t* pointer, uint16_t len) {
    uint8_t CRC = 0x00;
    uint16_t tmp;

    while(len > 0) {
        tmp = CRC << 1;
        tmp += *pointer;
        CRC = (tmp & 0xFF) + (tmp >> 8);
        pointer++;
        --len;
    }

    return CRC;
}
Run Code Online (Sandbox Code Playgroud)

我的Java代码是:

private int getCheckSum(byte[] data) {
        int tmp;
        int res = 0;
        for(int i = 0; i < data.length; i++) {
            tmp = res << 1;
            tmp += 0xff & data[i];
            res = (tmp & 0xff) + (tmp …
Run Code Online (Sandbox Code Playgroud)

c java crc code-translation

4
推荐指数
1
解决办法
757
查看次数

标签 统计

c ×1

code-translation ×1

crc ×1

java ×1