首先,我不确定这是否适合它,但我真的可以使用任何帮助。
所以给我一个包含字符串的ASCII文件
abcdefghijklmnopqrstuvwxyz12345-ABCDEFGHIJKLMNOPQRSTUVWXYZ12345a
我应该运行CRC-15多项式(1010000001010011),它应该给我一个1a6a
的答案。我只想试着如何解决这个问题。我一直在使用这个网站https://www.ghsi.de/CRC/来检查我是否理解正确,但我一直在346a
。我的理解是字符串中的每个字符都包含一个特定的十六进制值,因此在使用计算器时,我用十六进制重写消息,看起来像61 62 63 64 65 66 67 68 69 6a...
,然后从那里运行。
有人介意在这里帮我什么吗?
答案 0 :(得分:1)
由于这是一项家庭作业,我会给出相关建议,但没有代码 - 这是学生的工作。
一次处理一个字节的字符串值,每个字节一次处理一个字节。可以解析从0x80开始的字节串中的位,并向右移位到包括0x01。这会产生一个掩码,可以与当前字节进行逐位AND运算。 (a?:operation或if语句可用于将值消歧为1或0。
模拟硬件电路对该位的作用。这可以通过简单的逐位AND,XOR,移位等来完成。
很有可能编写一个简单的函数,接受包含多项式的CRC状态作为输入。
有多种方法可以进行计算,这只是其中之一。我有几行的功能,如上所述执行此计算,但正如我在开始时所说,作业分配是学生的工作。
祝你好运。