Parity Bit Checker
Example 1:
Enter 1 for Even parity and 2 for Odd parity.
Input: 1
Even parity:
Input:
Data: 110110
Output:
modified data: 1101100
Parity bit: 0
Example 2:
Enter 1 for Even parity and 2 for Odd parity.
Input: 2
Odd parity:
Input:
Data: 1101101
Output:
Modified data: 11011010
Parity bit: 0
Sample Output
Enter 1 for Even parity and 2 for Odd parity. Enter your choice: 1 Even parity: Data: 110110 Modified Data: 1101100 Parity Bit: 0
C-Source Code
#include<stdio.h>
#include<string.h>
void main()
{
int i, choice, even_parity_len, count = 0, p_bit;
char parity_bit, even_parity[100];
main:
printf("Enter 1 for Even parity and 2 for Odd parity.\n\nEnter your choice: ");
scanf("%d", &choice);
switch(choice)
{
case 1:
printf("\nEven parity:\nData: ");
scanf("%s", even_parity);
for(i = 0; even_parity[i] != '\0'; i++);
even_parity_len = i;
for(i = 0; i < even_parity[i]; i++)
{
if(even_parity[i] == '1')
{
count++;
}
}
if(count%2 == 0)
{
even_parity[even_parity_len] = '0';
p_bit = 0;
}
else
{
even_parity[even_parity_len] = '1';
p_bit = 1;
}
break;
case 2:
printf("\nOdd parity:\nData: ");
scanf("%s", even_parity);
for(i = 0; even_parity[i] != '\0'; i++);
even_parity_len = i;
for(i = 0; i < even_parity[i]; i++)
{
if(even_parity[i] == '1')
{
count++;
}
}
if(count%2 == 0)
{
even_parity[even_parity_len] = '1';
p_bit = 1;
}
else
{
even_parity[even_parity_len] = '0';
p_bit = 0;
}
break;
default:
printf("\nInvalid Input! Please enter 1 or 2.\n");
goto main;
break;
}
even_parity[even_parity_len+1] = '\0';
printf("\nModified Data: %s\nParity Bit: %d\n\n", even_parity, p_bit);
}
Sample Output
Enter 1 for Even parity and 2 for Odd parity. Enter your choice: 2 Odd parity: Data: 1101101 Modified Data: 11011010 Parity Bit: 0
No comments:
Post a Comment