当前位置: 首页 > 知识库问答 >
问题:

CRC-UINT64到两个字节?

巫马淳
2023-03-14
// crc1 is a uint64
fmt.Printf("CRC is 0x%04X\n", crc1) // prints "CRC is 0x2C89"

我只知道几件事:(1),我正在为其编写适配器的硬件需要两个字节的CRC值。(2),CRC包的作者说明uint64可以显示为0xFFFF,即两个字节。(3)在线CRC计算器将这些值显示为两个字节,例如https://www.lammertbies.nl/comm/info/crc-calculation.html。其余的对我来说都是新的...

我刚刚发布了CRC包自述文件中的一个片段。由于uint64通常是8字节,我真的不明白如何在不丢失数据的情况下做到这一点。

共有1个答案

许俊雅
2023-03-14

在线CRC计算和免费库

https://www.lammertbies.nl/comm/info/crc-calculation.html

LibCRC-C语言中的开源CRC库

/*
 * uint16_t crc_16( const unsigned char *input_str, size_t num_bytes );
 *
 * The function crc_16() calculates the 16 bits CRC16 in one pass for a byte
 * string of which the beginning has been passed to the function. The number of
 * bytes to check is also a parameter. The number of the bytes in the string is
 * limited by the constant SIZE_MAX.
 */

uint16_t crc_16( const unsigned char *input_str, size_t num_bytes ) {

// code Copyright (c) 1999-2016 Lammert Bies

}  /* crc_16 */

CRC16[0],CRC16[1]=字节(uint64>>8),字节(uint64)

CRC16[0],CRC16[1]=0xFF,0xBB=字节(0x0000000000000000FFBB>>8),字节(0x000000000000000000FFBB)

参考资料:

 类似资料:
  • http://www.lammertbies.nl/comm/info/crc-calculation.html http://www.codeproject.com/articles/19059/c-ccitt-crc-algorithm 在上面与字节数组{0xee,0x01,0x13,0x00,0x06,0x1c,0x00,0x20,0x1d,0x00,0x00}的链接中,它使用CRC8(po

  • 我需要帮助试图验证CRC-16值(也需要帮助与CRC-32值)。我试图坐下来了解CRC是如何工作的,但我一片空白。 更多信息如下: --编辑-- 我已经包括了更多的信息。我引用的文档是TIA-102.BAAA-A(来自TIA标准)。以下是文档陈述的内容(试图尽可能避免侵犯版权): FM(x)的系数被放置在CRC字段中,其中CRC的第0个八位元组的MSB对应于x^31,而CRC的第3个八位元组的LS

  • 从CANopen标准验证SDO块传输的CRC计算算法

  • 如果一个表达式包含任何整数大小或更小的内容,其结果总是整数,即使两个字节之和适合一个字节。 为什么我们在一个字节中添加最后两个字节时会发生这种情况?没有编译器错误。

  • 我想上传两个或更多的图片,使用一个表单在不同的领域到数据库使用Codeigniter。 但是这里只有一个正在上传...有人能帮我吗... 我的控制器 这是我的模型 这是我的看法 我的数据库 请帮我上传到单独的数据库字段作为两个单独的文件

  • 我有一个并行CRC-32计算器的VHDL代码,需要8字节的输入数据一次。我将称之为“CRC_32_8”模块。