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