C Unleashed Chapter 18: Hamming Codes

J

jaysome

In C Unleashed, Chapter 18, in the section titled "Correcting the
Errors: Hamming Codes", I was confused by the "(12,4)" reference. In
one paragraph, the author says that:

"In general, this two-value representation is referred to as (c,d),
where d is the original number of data bits and c in the number of
bits in the encoded word, including the Hamming parity bits."

In a few paragraphs later, it states:

"We will take a look at the (12,4) Hamming code..."

But in Figure 18.4 (which includes "(12,4)" in its caption), there are
8 data bits.

Shouldn't "(12,4)" be "(12,8)" everywhere in this section? Or am I
missing something? I looked in the errata and did not see any such
correction.

I only ask because I found this section in particular and the entire
Chapter 18 in general and the entire book overall to be very
informative, and I know some of the regulars here contributed to this
book, which I consider to be a gem.
 
J

Jack Klein

In C Unleashed, Chapter 18, in the section titled "Correcting the
Errors: Hamming Codes", I was confused by the "(12,4)" reference. In
one paragraph, the author says that:

"In general, this two-value representation is referred to as (c,d),
where d is the original number of data bits and c in the number of
bits in the encoded word, including the Hamming parity bits."

In a few paragraphs later, it states:

"We will take a look at the (12,4) Hamming code..."

But in Figure 18.4 (which includes "(12,4)" in its caption), there are
8 data bits.

Shouldn't "(12,4)" be "(12,8)" everywhere in this section? Or am I
missing something? I looked in the errata and did not see any such
correction.

I only ask because I found this section in particular and the entire
Chapter 18 in general and the entire book overall to be very
informative, and I know some of the regulars here contributed to this
book, which I consider to be a gem.

Oops, sorry about that. You are absolutely correct, and, as far as I
know, the first person in seven and a half years to catch that. I'm
pretty sure that doesn't mean that you're the only one to read my
chapter. At least I hope it doesn't.

Both "(12,4)" references on page 813 should be "(12,8)". It is
correct as "(12,8)" on page 817, which I believe is the only other
place it appears.

It is also correct in the description on my web page for Chapter 18,
http://jk-technology.com/C_Unleashed/code_list.html

I don't think I can add this to Richard's errata page, since he has
said he is no longer associated with the ISP and does not even know
why the pages are still there.

I will try to add all the contents of his Chapter 18 errata page,
which I have captured, and the error you found, as well as a few
others I've received over time to my page in the near future.

And, of course, thanks for the kind words.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.club.cc.cmu.edu/~ajo/docs/FAQ-acllc.html
 
R

Richard Heathfield

Jack Klein said:

I don't think I can add this to Richard's errata page, since he has
said he is no longer associated with the ISP and does not even know
why the pages are still there.

Some time ago, I did some Search And Rescue on these pages, and they are
now safely copied to a place where I can update them as required. See
http://www.cpax.org.uk/prg/portable/c/unleashed/errata/ech18.php - which
now contains a reference to jaysome's discovery.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,997
Messages
2,570,241
Members
46,831
Latest member
RusselWill

Latest Threads

Top