2016-07-13 63 views
8

aşağıdaki türetme vardır o:Bu Kmett CRC makalesinde, neden ab = a0^n + 0^m b? Bu gösterim ne anlama geliyor? <a href="https://www.schoolofhaskell.com/user/edwardk/parallel-crc#exploiting-weakness" rel="noreferrer">Edward Kmett's article on CRCs</a> yılında

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 

Ne dünyada a0^n ve 0^m b mı? Bu güçler a * pow(0, n) gibi mi? Eğer öyleyse, 0^n = 0 olmaz mı? Ya da XOR? Tamamen başka bir şey mi? Alan önemli mi?

ab = a0^n + 0^m b 

ve neden 0^m b üçüncü ve dördüncü satırlar arasında 0^nb oldu: Örneğin, neden Anlamıyorum?

+0

https://wiki.haskell.org/Power_function –

+0

I bahsedilen olarak Mika'il @ olur değil '0^n = 0'? Anlamı yok. – rityzmon

cevap

9

Bit dizeleri için bir notasyon kullanıyor. Burada ve b, sırasıyla m ve n uzunluktaki bit dizeleridir.

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