在这篇 Kmett CRC 文章中,为什么 ab = a0^n + 0^m b?这个符号是什么意思?
On this Kmett CRC article, why does ab = a0^n + 0^m b? What does this notation mean?
在Edward Kmett's article on CRCs中有如下推导:
CRC(ab) = -- definition of CRC
crc(INIT,ab) + FINAL = -- linearity
crc(INIT,a0^n + 0^m b) + FINAL = -- additive homomorphism
crc(INIT,a0^n) + crc(0,0^nb) + FINAL = -- zero blindness
crc(INIT,a0^n) + crc(0,b) + FINAL -- definition of crc
crc(crc(INIT,a),0^n) + crc(0,b) + FINAL -- additive homomorphism
crc(crc(INIT,0^m)+crc(0,a),0^n) + crc(0,b) + FINAL
a0^n
和0^m b
到底是什么东西?这些权力是像 a * pow(0, n)
吗?如果是这样,不是 0^n = 0 吗?还是异或?完全是别的东西? space 重要吗?我不明白为什么,例如:
ab = a0^n + 0^m b
以及为什么在第三行和第四行之间0^m b
变成了0^nb
?
他正在使用位串的表示法。这里 a 和 b 是长度为 m 和 n[=17 的位串=]分别。
ab = a concatenated with b
0^n = the bit string of length n consisting of all 0s
a0^n = a concatenated with 0^n
0^m b = 0^m concatenated with b
a0^n + 0^m b = sum of a0^n and 0^m b (same as the bitwise OR in this case)
= a concatenated with b
在Edward Kmett's article on CRCs中有如下推导:
CRC(ab) = -- definition of CRC
crc(INIT,ab) + FINAL = -- linearity
crc(INIT,a0^n + 0^m b) + FINAL = -- additive homomorphism
crc(INIT,a0^n) + crc(0,0^nb) + FINAL = -- zero blindness
crc(INIT,a0^n) + crc(0,b) + FINAL -- definition of crc
crc(crc(INIT,a),0^n) + crc(0,b) + FINAL -- additive homomorphism
crc(crc(INIT,0^m)+crc(0,a),0^n) + crc(0,b) + FINAL
a0^n
和0^m b
到底是什么东西?这些权力是像 a * pow(0, n)
吗?如果是这样,不是 0^n = 0 吗?还是异或?完全是别的东西? space 重要吗?我不明白为什么,例如:
ab = a0^n + 0^m b
以及为什么在第三行和第四行之间0^m b
变成了0^nb
?
他正在使用位串的表示法。这里 a 和 b 是长度为 m 和 n[=17 的位串=]分别。
ab = a concatenated with b
0^n = the bit string of length n consisting of all 0s
a0^n = a concatenated with 0^n
0^m b = 0^m concatenated with b
a0^n + 0^m b = sum of a0^n and 0^m b (same as the bitwise OR in this case)
= a concatenated with b