Re: CRC32 : theory and pratice.
- From: WillR <willrNo.Spam.pmccl.noSpam.com>
- Date: Thu, 25 Oct 2007 07:26:04 -0400
Rene Tschaggelar wrote:
Olivier Pons wrote:
Tell me if I'm wrong : CRC32 is an algorithm that, given a unique sequence of bytes, generates a corresponding unique 32 bits number.
This means that if just one bit (not one byte but one bit) of the unique sequence changes, the CRC32 is not valid anymore.
Am I right ?
If so, I don't understand how it works but I'm just wondering : are we *sure* of that, and what is the maximum number of bytes that a CRC32 can uniquely identify ?
A CRC32 is made to detect single and double bit errors
in up to 2^32 bits. Meaning it already is not really
suited against burst errors, where a longer passage
of bits is corrupted.
Rene
Depends on implementation. Sometimes CRC is implemented with a "Long Check" which enforces even parity on each bit. This come from tape drives for example. Then, if a "channel" (all the bit 3's for example) is bad you know which one, and along with CRC can have even limited error correction. In conjunction with byte parity you can find and correct even random errors. Usually though bad blocks are just re-transmitted or re-read in tape drives and communications that implement this three-way check.
Hope that helps.
--
Will R
PMC Consulting
.
- References:
- Re: CRC32 : theory and pratice.
- From: Rene Tschaggelar
- Re: CRC32 : theory and pratice.
- Prev by Date: Re: Importing Html into SQL Server using Delphi.
- Next by Date: Re: Quizz question : what is the equivalent of Delpi "Currency" inpureC ?
- Previous by thread: Re: CRC32 : theory and pratice.
- Next by thread: Movie #29 - Class Helpers
- Index(es):
Relevant Pages
|