|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Slawa Olhovchenkov 2:5030/500 16 Dec 2004 01:09:50 To : Valentin Nechayev Subject : Бьются большие файлы при закачке. Hе могу определить причину. -------------------------------------------------------------------------------- 15 Dec 04, Valentin Nechayev writes to Slawa Olhovchenkov: AM>>>>> small testcase в студию. SO>>>> crc(x^y) = crc(x)^crc(y) VN> Вот в практической реализации это работать не будет. Большинство их VN> от этого защищаются выбором ненулевого начального состояния счётчика VN> (в классических ITU.T'шных CRC-16 и CRC-32 он равен всем битовым единицам), VN> а от типичного случая регулярной помехи - укладкой финального значения VN> счётчика в пакет в инвертированном виде. Хпди, добавь crc32(0) (aka вычти это начальное состояние) и не ищи проблему на ровном месте. crc32(x^y) = crc(1..1[x^y]) = crc(1..1x ^ 0..0y) = crc(1..1x ^ 1..1y ^ 1..10) = crc32(x) ^ crc32(y) ^ crc32(0). crc32 считает cksum из FreeBSD. Проверку можешь осущнествить сам. Я -- уже проверил :Р EBB>>> Вся проблема в том, что под термином "CRC" (cyclic redundancy EBB>>> check) EBB>>> здесь разные люди понимают разные вещи, от примитивного контроля EBB>>> чётности EBB>>> до кодов Рида-Соломона. Вы уж сначала определитесь, о чём речь. SO>> В данном случае это неважно. SO>> Они все равно остаются линейными. VN> Если ты линейным назвал соответствие приведённой выше формуле, то это VN> не так - см. выше почему. Это так. ... Пылесос -- уникальный продукт. Чем сильнее он сосет -- тем лучше. --- GoldED+/BSD 1.1.5 * Origin: (2:5030/500) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/222141c0ab39.html, оценка из 5, голосов 10
|