Talk:Parity bit

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing (Rated Start-class)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

Why it works[edit]

Can someone explain why the parity bit works with XOR? Which property of XOR makes this work? —Preceding unsigned comment added by (talk) 05:34, 14 September 2009 (UTC)


4th paragraph after the word caches should be instruction and not instructopn? Didnt want to fix the typo in the even that it was not actually a typo -Brett

For clarity, please define the term "stop bit", and elaborate further on the uses of parity bits in redundancy checking.

Yep please define!Medscin 17:01, 2 January 2006 (UTC)

For further clarity: Typical options for parity are: None - no parity bit; Mark - parity bit always 1; Space - parity bit always 0; Odd; Even. The question is, what exactly is meant by odd or even parity, an example please? Martin 2006-02-10.

RAID parity blocks[edit]

I have places tags to merge-out the section RAID parity blocks from this article, and move it to RAID. I think this should be included on the same page as RAID, as it pertains only to raid, and should only be referenced from the Parity bit article for further reading. The7thone1188 21:29, 3 June 2006 (UTC)


I have moved the section today. The7thone1188 03:51, 11 June 2006 (UTC)

Why did this Parity Block section come back? I was reading this page today and saw the Parity Block section here and it didn't seem to belong. Checking the history it seems like it was at one time moved out of here and into the RAID article. It's still in the RAID article but also back here again too. I would like to remove it again but before I do I'd like to know why it came back. —The preceding unsigned comment was added by (talk) 07:59, 6 December 2006 (UTC).

Should there be an error in External links section?[edit]

The first reference in External links section is "Quick way to get the odd parity of an integer"

[1]. IMHO the algorithm describes even parity calculation.

Consider the code:

int uint16_parity( uint16 x ) {

 x = x ^ (x >> 8);
 x = x ^ (x >> 4);
 x = x ^ (x >> 2);
 x = x ^ (x >> 1);

 return x & 1;


Given input x = 0x0001 the result would be 1. Stage by stage:

 x = x ^ (x >> 8);  // 0x0001 ^ 0x00 = 0x01
 x = x ^ (x >> 4);  // 0x01 ^ 0x0 = 0x1 
 x = x ^ (x >> 2);  // 0001b ^ 00b = 01b
 x = x ^ (x >> 1);  // 01b ^ 0b = 1b 

So, parity bit is 1. According to introductory part, "An even parity bit is set to 1 if the number of ones in a given set of bits is odd (making the total number of ones even)." Rrlagic 10:02, 11 May 2007 (UTC)

Vandalism from 25. April 2008 needs to be undone[edit]

Is there any tool that automates (or half-automates) undoing old vandalism, which was followed by a bunch of valid commits? I'm too lazy to do it by hand. -- (talk) 18:00, 26 May 2008 (UTC)


Im sorry but whoever created this article needs to learn how to spell, i corrected 1 word please see below:

lel - Level


Im Sorry but whoever created this article needs to learn how to spell, no offence, i corrected 1 word in there:

lel- Level

Sorry but this had to be done, it was embarrassing.

Now someone changed it back...:( —Preceding unsigned comment added by (talk) 07:40, 16 June 2008 (UTC)

Final Error Correction Example Corrected[edit]

I made a change to the final example in the error correction section. Previously the example demonstrating two errors being missed because of matching parity bits. It was formerly:

B computes overall parity: 1^1^0^1^1 = 1

and I switched it to

B computes overall parity: 1^1^0^1^1 = 0

which is correct and makes the example make sense.

Atduskgreg (talk) 03:31, 29 March 2009 (UTC)

merging with multidimensional parity-check code[edit]

all error correcting codes use parity bits so I dont see any really good reason to merge with just this one. I'll certainly add a link though. further, 'multidimensional parity-check code' is a very broad subject with many variations. the article could well be expanded greatly. (but thats beyond my skill level). merging it with 'parity bit' would make that impossible. I think that, generally speaking, too many articles on wikipedia get merged. just-emery (talk) 17:19, 30 May 2009 (UTC)

I think you're probably right. I've removed the merge tags. Oli Filth(talk|contribs) 17:40, 30 May 2009 (UTC)

Error in "Error Detection" section beneath 3rd box?[edit]

I'm new to all this, but I think this is incorrect:

Current text: "B's calculated parity value (1) does not match the parity bit (0) in its received value, indicating the bit error."

I believe it should read something like: "B's calculated parity value (1) indicates a bit error, when using even parity. (When using odd parity, B calculating a (0) will indicate an error.)"

Rationale (for EVEN parity mode): If the desired transmission has an odd number of 1's, A will assign Parity Bit (PB) = 1. Thus, once the PB is appended, B will calculate 0 (if the transmission is correct). Conversely, if the desired transmission has an even number of 1s, PB=0 and B will AGAIN calculate PB=0 (if the transmission is correct). Ie, 0=Correct; 1=Error. Matching is irrelevant.

Using the ODD parity mode, the situation is reversed. Appending the PB will lead B always to calculate a 1, if the transmission is correct, independent of any matching.

Someone more experienced can either make this change, or send me some confirmation and I'll make it myself. Tnx. EJR (talk) 09:01, 31 October 2010 (UTC)

I suspect that the confusion lies in the use of the term match. In the example, as far as receiver B is concerned, the received message must contain an even-number of one-state bits but B counts three one-state bits. Three is an odd number so B knows that the message has been corrupted though not how the message has been corrupted. B only knows that there is an error because, by prior agreement between sender and receiver, the communication channel has been configured to use even parity messages; not because B's calculated parity bit doesn't match the transmitted parity bit. I've modified the text to delete the reference to match. —Preceding unsigned comment added by Trappist the monk (talkcontribs) 18:06, 31 October 2010 (UTC)

useful to explicitly state that ^ is the bitwise XOR operator[edit]

A very helpful article.

I think it would be useful for the Error Detection examples to explicitly state that ^ is the bitwise XOR operator rather than exponentiation.

The example uses this equation: 1^0^0^1 = 0 The left hand side equals 0 if ^ is bitwise XOR (as ^ is used in Python). The left hand side equals 1 if ^ is exponentiation (as ^ is used in Octave).

Interpreting this example as equal to 1, causes a misunderstanding cascade regarding this topic - I myself initially read the example this way.

To be fair, "Consider the following example with a transmission error in the second bit using XOR:" is written just above the second table, so I'm not suggesting incompleteness, just where the author can be misunderstood. We've seen 2^3 = 8, etc. so many times. Our attention is drawn within the table to the equations. I think it would be very welcome by readers (especially those new to the topic, as am I) to state the disambiguation explicitly within the table itself.

This is my first time here, so forgive me if I don't feel comfortable making the edit myself. If the author agrees, and if nobody objects, then this small addition should help people follow the example as intended.

Rodd.rev (talk) 18:34, 17 March 2015 (UTC)