0% found this document useful (0 votes)
8 views8 pages

CNlab W

Uploaded by

zumbazumzum47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views8 pages

CNlab W

Uploaded by

zumbazumzum47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Program 2 : Write a program to perform bit stuffing.

import java.util.*;
public class bit_stuffing
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.print("Enter the message:-");
String d1 = sc.nextLine();
String remaining = new String();
String output=new String();
int counter = 0;
for(int i=0;i<d1.length();i++)
{
if (d1.charAt(i)!='1' && d1.charAt(i)!='0')
{
System.out.println("Enter valid Binary values");
return;
}
if(d1.charAt(i) == '1')
{
counter++;
remaining = remaining + d1.charAt(i);
}
else
{
remaining = remaining + d1.charAt(i);
counter = 0;
}
if(counter == 5)
{
remaining = remaining + '0';
counter = 0;
}
}
System.out.println("Flag--> 01111110");
String new1="|01111110 | "+remaining+" | 01111110|";
System.out.println("Stuffed data at intermediate site is:");
for(int k=0;k<=(28+d1.length());k++)
{
System.out.print("-");
}
System.out.println();
System.out.println(" "+new1);
for(int k=0;k<=(28+d1.length());k++)
{
System.out.print("-");
}
System.out.println();
counter=0;
for(int i=0;i<remaining.length();i++)
{

if(remaining.charAt(i) == '1')
{
counter++;
output = output + remaining.charAt(i);

}
else
{
output = output + remaining.charAt(i);
counter = 0;
}
if(counter == 5)
{
if((i+2)!=remaining.length())
{
output = output + remaining.charAt(i+2);
}
else
{
output=output + '1';
}
i=i+2;
counter = 1;
}
}
System.out.println("Destuffed BIT is: "+output);
}
}
Output:
Program 3: Write a program to find out the Hamming code.
class HammingCode {

static void print(int ar[])


{
for (int i = 1; i < ar.length; i++) {
System.out.print(ar[i]);
}
System.out.println();
}

static int[] calculation(int[] ar, int r)


{
for (int i = 0; i < r; i++) {
int x = (int)Math.pow(2, i);
for (int j = 1; j < ar.length; j++) {
if (((j >> i) & 1) == 1) {
if (x != j)
ar[x] = ar[x] ^ ar[j];
}
}
System.out.println("r" + x + " = "+ ar[x]);
}

return ar;
}

static int[] generateCode(String str, int M, int r)


{
int[] ar = new int[r + M + 1];
int j = 0;
for (int i = 1; i < ar.length; i++) {
if ((Math.ceil(Math.log(i) / Math.log(2)) - Math.floor(Math.log(i) / Math.log(2)))== 0)
{ ar[i] = 0;
}
else {
ar[i] = (int)(str.charAt(j) - '0');
j++;
}
}
return ar;
}

public static void main(String[] args)


{
String str = "0101";
int M = str.length();
int r = 1;

while (Math.pow(2, r) < (M + r + 1)) { r+


+;
}
int[] ar = generateCode(str, M, r);

System.out.println("Generated hamming code ");


ar = calculation(ar, r);
print(ar);
}
}

Output :
Program 4 : Write a program to implement CRC mechanism.
class CRC {

static String toBin(int num)

String bin = "";

while (num > 0) {

if ((num & 1) != 0)

bin = "1" + bin;

else

bin = "0" + bin;

num = num >> 1;

return bin;

static int toDec(String bin)

int num = 0;

for (int i = 0; i < bin.length(); i++)

{ if (bin.charAt(i) == '1')

num += 1 << (bin.length() - i - 1);

return num;

}
static void CRC(String dataword, String generator)

int l_gen = generator.length();

int gen = toDec(generator);

int dword = toDec(dataword);

int dividend = dword << (l_gen - 1);

int shft = (int)Math.ceil(Math.log(dividend + 1/ Math.log(2))- l_gen);

int rem;

while ((dividend >= gen) || (shft >= 0))

{ rem = (dividend >> shft) ^ gen;

dividend = (dividend & ((1 << shft) - 1))| (rem << shft);

shft = (int)Math.ceil(Math.log(dividend + 1)/ Math.log(2))- l_gen;

int codeword = (dword << (l_gen - 1)) | dividend;

System.out.println("Remainder: " + toBin(dividend));

System.out.println("Codeword : " + toBin(codeword));

public static void main(String[] args) {

String dataword, generator;

dataword = "10011101";

generator = "1001";

CRC(dataword, generator);

}
Output:

You might also like