Generation of Equivalent Binary Code of Decimal Digits

This is C source code, written in gcc platform (Ubuntu, 14.04 LTS, Linux).

Here is the process for generating the Equivalent Binary Code of a decimal digit. First, a palindrome number is being generated. If we Push n elements in the stack, it generates a palindrome number of length (2^n) -1.

This is the special property. Then it can generate Binary code of maximum n bit. Note that, we have to Push elements sequentially in Decreasing order. e.g 4,3,2,1. It generates 121312141213121, so now it can generate Binary code of maximum 4 bit.

/*   This is a Process of generating Palindrome number from some given numbers.      This is a Process of generating binary code from some given numbers.      It actually takes the help of palindrome generation.*/#include #define max 10#define maxim 300#define maxr 550#define maxc 9int pushA (int[], int*, int*);int cpyAC (int[], int[], int*);int palgen (int[], int[], int[], int*, int*);void display (int[], int*);void displayA (int[], int*);int binarycode (int A[maxr][maxc], int*, int*, int[], int*);void grycddisp (int A[maxr][maxc], int*, int*);//----------------------------------------------------int pushA (int a[max], int *top, int *item){    printf("
	Enter element: ");    scanf("%d", &(*item));    a[++(*top)] = (*item);    printf("
	Push is successful...
");    return (*top);}//----------------------------------------------------int cpyAC (int a[max], int c[max], int *top){  int i= -1, j= -1, toc;  while (j      c[++i] = a[++j];  toc= i;        return (toc);}//----------------------------------------------------int palgen (int a[max], int b[maxim], int c[max], int *top, int *toc){  int i, j, k, tob, x;  j= -1;  i= (*top);           k= (*toc);           while (k  -1)  {    b[++j] = c[k];    (*toc)--;    k= (*toc);    while (b[j] != a[i])    {      i--;    }    while (i      {      c[++k] = a[++i];      (*toc)++;          i+= 0;    }    (*toc)--;    k = (*toc);    k+= 0;     }  tob= j;           return (tob);  }//---------------------------------------------------int binarycode (int A[maxr][maxc], int *row, int *col, int b[maxim], int *tob){printf("

		Row= %d, Col= %d

", *row, *col);               //create co-ordinate  int i=0, j, value, k;  while (i    {    j=(*col);    while (j 0 )    {      j--;    }    i++;  }               //binarycode generation  i= 0;  j= (*col);  while (j  0)  {    A[i][j] = 0;      j--;  }  while (i   {    i++;     j=(*col);    while (j0)    {      A[i][j] = A[i-1][j];      j--;    }    k= (*tob);    value = b[k];    (*tob)--;    j= value;    for(; j0; j--)    {          if (A[i][j] == 0)        A[i][j] = 1;      else        A[i][j] = 0;    }    i+=0;  }}//------------------------------------------------------------void grycddisp (int A[maxr][maxc], int *row, int *col){  int i= 0, j;  while (i    {    j=(*col);    while (j 0 )    {      printf("		%d", A[i][j]);      j--;    }    printf("
");    i++;  }}//------------------------------------------------------------void displayA (int a[max], int *top){  int i;  printf("
	You entered...
");  i= (*top);  while (i = 0)  {    printf("
	%d", a[i--]);  }}//---------------------------------------------------void display (int b[maxim], int *tob){  int i;  printf("
	The items of Stack are shown...{B}
");  i= (*tob);  printf("

		");  while (i = 0)  {    printf("%d", b[i--]);  }}//----------------------------------------------------void main (void){  int a[max], b[maxim], c[max], item=0, top =(-1), toc, tob;  int A[maxr][maxc], row =1, col =0, bit =0;  char ch;  system ("clear");  printf ("
	This is a Process of generating binary Code of n-bit.
	Please insert n numbers in decreasing order.
	e.g 4,3,2,1 for 4-bit binary code.

");  if (top == -1)    printf("
	Initially Stack is empty...
");    printf("
	You have to give data, please start insertion.
	Press 'y' for insert, 'n' for exit.

");  ch= getchar();  while (ch == 'y')   {    top= pushA (a, &top, &item);    printf("
	'y' :insert
	'n' :exit.
");    getchar();        ch= getchar();    getchar();    if( top == (max-1) )    {      printf("
	Sorry...
	Stack is full.
	Push operation is not possible...

");      break;    }  }  system("clear");  displayA (a, &top);  if(top == -1)    printf("
	Sorry...
	Stack is empty...
	Copy is done...

");  else   toc= cpyAC (a, c, &top);           tob= palgen (a, b, c, &top, &toc);        if(tob == -1)    printf("
	Sorry...
	Stack is empty...

");  else    display (b, &tob);//-------------------------------------------------------  printf("
	Enter the bit number of binary code: ");  scanf("%d", &bit);  col= bit;  while (bit  0)  {    row= (row*2);    bit --;  }    binarycode (A, &row, &col, b, &tob);  grycddisp (A, &row, &col);  printf ("

	T  H  A  N  K    Y  O  U

");  }
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a