Hamming Code Method

 Program to Simulate Hamming code method.

Simulate and Implement Hamming code method Program Using C++.


Program: 

/*-----------------------------------------------------------------------------------------
 Simulate Simulate Hamming code method Program Using C++
-----------------------------------------------------------------------------------------*/

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char** argv) {

    int data_bits[20],m,r = 0,parity;
    
    cout<<"Enter the size of data bits: ";
    cin>>m;
    
    while(pow (2,r) < m + r + 1){
        r++;
    }
    
    cout<<"Enter the data bit: ";
    for(int i = 1; i <= m; i++)
        cin>>data_bits[i];
    
    int hamming[m + r],j = 0,k = 1;    

    for(int i = 1; i <= m + r; i++){
        
        if( i == pow( 2, j )){
            hamming[i] = -1;
            j++;
        }
        else{
            hamming[i] = data_bits[k];
            k++;
        }
    }
    
    k = 0;
    int x, min, max = 0;
    //finding parity bit
    for (int i = 1; i <= m + r; i = pow (2, k)){
      k++;
      parity = 0;
      j = i;
      x = i;
      min = 1;
      max = i;
       while ( j <= m + r){
          for (x = j; max >= min && x <= m + r; min++, x++){
              if (hamming[x] == 1)
                  parity = parity + 1;;
          }
          j = x + i;
          min = 1;
      }
      
      if (parity % 2 == 0){ 
         hamming[i] = 0;
      }
      else{
        hamming[i] = 1;
      }
  }
    
    cout<<"\nHamming code is: ";
    for(int i = 1; i <= m + r; i++)
        cout<<hamming[i]<<" ";
    
    return 0;
}
Output

Enter the size of data bits: 7 Enter the data bit: 1 0 0 1 1 0 1 Hamming code is: 0 1 1 1 0 0 1 0 1 0 1

Disqus Comments

Download YouTube videos in Python

     We can use the package Pytube to download YouTube videos in a Python script. It’s a free tool you can install from the PyPI repository....