write a program to convert decimal number into equivalent binary number system.
#include<stdio.h>
#include <math.h>
int decimal_binary(int n);
int main()
{
int n;
char c;
printf("Instructions:\n");
printf("Enter alphabet 'b' to convert decimal to binary.\n");
scanf("%c",&c);
if (c =='b' || c == 'B')
{
printf("Enter a decimal number: ");
scanf("%d", &n);
printf("%d in decimal = %d in binary", n, decimal_binary(n));
}
return 0;
}
int decimal_binary(int n)
{
int rem, i=1, binary=0;
while (n!=0)
{
rem=n%2;
n/=2;
binary+=rem*i;
i*=10;
}
return binary;
}
/************************
Ouput:
#mber: 5
5 in decimal = 101
******************/
================================================================================================
* Write a program to convort decimal number into equivalent octal number system.
#include<stdio.h>
#include<conio.h>
#include<math.h>
int decimal(int n);
int main()
{
int n;
char c;
clrscr();
printf("Instruction : \n");
printf("enter alphabet 'o' to covert decimal to octal. \n");
scanf("%c",&c);
if(c =='o'|| c =='O')
{
printf("enter an decimal number :");
scanf("%d",&n);
printf("%d decimal = %d in octal", n, decimal_octal(n));
}
getch();
}
int decimal_octal(int n)
{
int rem, i=1, octal=0;
while(n!=0)
{
rem=n%8;
n/=8;
octal+=rem*i;
i*=10;
}
return(octal);
}
/***********************
output:
Instruction :
enter alphabet 'o' to covort decimal to octal.
o
enter an decimal number :32
32 decimal = 40 in octal
*************************************/
================================================================================================
* Write a program to convert decimal number into equivalent Hexa-decimal number system.
#include<stdio.h>
#include<conio.h>
void main()
{
unsigned long dec;
int a[20], c=0,i;
clrscr();
printf("\n Enter a Decimal no : ");
scanf("%lu", & dec);
printf("\n Hexadecimal no is : ", dec);
while(dec>0)
{
a[c]=dec%16;
dec=dec/16;
c++;
}
for (i=c-1;i>=0;i--)
{
if(a[i]>=10)
printf("%c", a[i]+55);
else
printf("%c", a[i]);
}
getch();
}
/*******************
Output:
Enter a Decimal no : 13
Hexadecimal no is : D
*************************/
================================================================================================
* Write a program to convert decimal number into equivalent Hexa-decimal number system.
#include<stdio.h>
#include<conio.h>
int main()
{
long int binary,hexadecimal=0,j=1, remainder;
clrscr();
printf("Enter any number any binary : ");
scanf("%ld",&binary);
while(binary!=0)
{
remainder=binary%10;
hexadecimal=hexadecimal+remainder*j;
j=j*2;
binary=binary/10;
}
printf("Equivalent hexadecimal value: %lX",hexadecimal);
scanf("%dl", &binary);
return 0;
}
/***************************
Output:
Enter any number any binary : 111
Equivalent hexadecimal value: 7
***************************/
=================================================================================================================
* Write a program to convert octal number into equivalent Binary number system.
#include <stdio.h>
#include<conio.h>
#include <math.h>
int octal_binary(int n);
int main()
{
int n;
char c;
clrscr();
printf("Instructions:\n");
printf(" Enter alphabet 'b' to convert octal to binary.\n");
scanf("%c",&c);
if ( c=='b' || c=='B')
{
printf("Enter a octal number: ");
scanf("%d",&n);
printf("%d in octal = %d in binary",n, octal_binary(n));
scanf("%d", &n);
}
return 0;
}
int octal_binary(int n)
{
int binary=0,decimal=0, i=0;
while (n!=0)
{
decimal+=(n%10)*pow(8,i);
++i;
n/=10;
}
i=1;
while(decimal!=0)
{
binary+=(decimal%2)*i;
decimal/=2;
i*=10;
}
return binary;
}
/*********************************
Output:
Instructions:
Enter alphabet 'b' to convert octal to binary.
b
Enter a octal number: 6
6 in octal = 110 in binary
**************************************/
==========================================================================================================================
* Write a program to convert binary number into octal.
#include <stdio.h>
#include <math.h>
int binary_octal(int n);
int main()
{
int n;
char c;
printf("Instructions:\n");
printf("1. Enter alphabet 'o' to convert binary to octal.\n");
scanf("%c",&c);
if ( c=='o' || c=='O')
{
printf("Enter a binary number: ");
scanf("%d",&n);
printf("%d in binary = %d in octal", n, binary_octal(n));
}
return 0;
}
int binary_octal(int n) /* Function to convert binary to octal. */
{
int octal=0, decimal=0, i=0;
while(n!=0)
{
decimal+=(n%10)*pow(2,i);
++i;
n/=10;
}
/*At this point, the decimal variable contains corresponding decimal value of binary number. */
i=1;
while (decimal!=0)
{
octal+=(decimal%8)*i; decimal/=8;
i*=10;
}
return octal;
}
/*******************************
Instructions:
1. Enter alphabet 'o' to convert binary to octal.
o
Enter a binary number: 1001
1001 in binary = 11 in octalInstructions:
*******************************/
===================================================================================================================
* Write a program to convert binary number into Decimal.
#include <stdio.h>
#include <math.h>
int binary_decimal(int n);
int main()
{
int n;
char c;
printf("Instructions:\n");
printf("1. Enter alphabet 'd' to convert binary to decimal.\n");
scanf("%c",&c);
if (c =='d' || c == 'D')
{
printf("Enter a binary number: ");
scanf("%d", &n);
printf("%d in binary = %d in decimal", n, binary_decimal(n));
}
return 0;
}
int binary_decimal(int n) /* Function to convert binary to decimal.*/
{
int decimal=0, i=0, rem;
while (n!=0)
{
rem = n%10;
n/=10;
decimal += rem*pow(2,i);
++i;
}
return decimal;
}
/******************************************
Instructions:
1. Enter alphabet 'd' to convert binary to decimal.
d
Enter a binary number: 1001
1001 in binary = 9 in decimalInstructions:
****************************/
===========================================================================================
* Write a program to convert binary number into Hexa-Decimal.
#include<stdio.h>
#include<conio.h>
int main()
{
long int binaryNumber,hexadecimalNumber=0,j=1,remainder;
printf("Enter any number any binary number: ");
scanf("%ld",&binaryNumber);
while(binaryNumber!=0)
{
remainder=binaryNumber%10;
hexadecimalNumber=hexadecimalNumber+remainder*j;
j=j*2;
binaryNumber=binaryNumber/10;
}
printf("Equivalent hexadecimal value: %lX",hexadecimalNumber);
return 0;
}
/*****************************
1. Enter alphabet 'd' to convert binary to decimal.
Enter any number any binary number: 1001
Equivalent hexadecimal value: 9
******************/
==========================================================================================
Write a program to convert octal number into equivalent decimal number system
#include <stdio.h>
#include <math.h>
int octal_deciaml(int n);
int main()
{
int n;
char c;
printf("Instructions:\n");
printf("Enter alphabet 'd' to convert octal to decimal.\n");
scanf("%c",&c);
if (c =='d' || c == 'D')
{
printf("Enter an octal number: ");
scanf("%d", &n);
printf("%d in octal = %d in decimal", n, octal_decimal(n));
}
}
int octal_decimal(int n) /* Function to convert octal to decimal */
{
int decimal=0, i=0, rem;
while (n!=0)
{
rem = n%10;
n/=10;
decimal += rem*pow(8,i);
++i;
}
return decimal;
}
/***************************************************
Output :
Enter alphabet 'd' to convert octal to decimal.
d
Enter an octal number: 45
45 in octal = 37
**************************************/
==============================================================================================================
* Write a program to convert octal number into equivalent hexadecimal number system
#include<stdio.h>
#include<math.h>
#include<string.h>
void octal_hex(int n, char hex[]);
int hex_octal(char hex[]);
int main()
{
char hex[20],c; int n;
printf("Enter octal number: ");
scanf("%d",&n);
octal_hex(n,hex);
printf("Hexadecimal number:%s",hex);
return 0;
}
void octal_hex(int n, char hex[])
{
int i=0,decimal=0, rem;
while (n!=0)
{
rem = n%10;
n=n/10;
decimal=decimal+rem*pow(8,i);
++i;
}
i=0;
while (decimal!=0)
{
rem=decimal%16;
switch(rem)
{
case 10:
hex[i]='A';
break;
case 11:
hex[i]='B';
break;
case 12:
hex[i]='C';
break;
case 13:
hex[i]='D';
break;
case 14:
hex[i]='E';
break;
case 15:
hex[i]='F';
break;
default:
hex[i]=rem+'0';
break;
}
++i;
decimal/=16;
}
hex[i]='\0';
strrev(hex); /* Function to reverse string. */
}
/******************************
Enter octal number: 127
Hexadecimal number:57Enter octal number:
***************************/
======================================================================================================
#include<stdio.h>
#define MAX 1000
int main()
{
char binaryNumber[MAX],hexaDecimal[MAX];
long int i=0;
printf("Enter any hexadecimal number: ");
scanf("%s",hexaDecimal);
printf("\nEquivalent binary value: ");
while(hexaDecimal[i])
{
switch(hexaDecimal[i])
{
case '0': printf("0000"); break;
case '1': printf("0001"); break;
case '2': printf("0010"); break;
case '3': printf("0011"); break;
case '4': printf("0100"); break;
case '5': printf("0101"); break;
case '6': printf("0110"); break;
case '7': printf("0111"); break;
case '8': printf("1000"); break;
case '9': printf("1001"); break;
case 'A': printf("1010"); break;
case 'B': printf("1011"); break;
case 'C': printf("1100"); break;
case 'D': printf("1101"); break;
case 'E': printf("1110"); break;
case 'F': printf("1111"); break;
case 'a': printf("1010"); break;
case 'b': printf("1011"); break;
case 'c': printf("1100"); break;
case 'd': printf("1101"); break;
case 'e': printf("1110"); break;
case 'f': printf("1111"); break;
default: printf("\nInvalid hexadecimal digit %c ",hexaDecimal[i]); return 0;
}
i++;
}
return 0;
}
/***************************************
Enter any hexadecimal number: a1.b2
Equivalent binary value: 10100001
*****************************/
==================================================================================================================
* Write a program to convert hexadecimal number into equivalent octal number system
#include <stdio.h>
#include<math.h>
#include<string.h>
int hex_octal(char hex[]);
int main()
{
char hex[20],c;
int n;
printf("Enter hexadecimal number: ");
scanf("%s",hex);
printf("Octal number: %d",hex_octal(hex));
return 0;
}
int hex_octal(char hex[])
/* Function to convert hexadecimal to octal.*/
{
int i,length, decimal=0, octal=0;
for(length=0; hex[length]!='\0'; ++length); for(i=0; hex[i]!='\0'; ++i,
--length)
{
if(hex[i]>='0' && hex[i]<='9') decimal+=(hex[i]-'0')*pow
(16,length-1);
if(hex[i]>='A' && hex[i]<='F') decimal+=(hex[i]-55)*pow(16,length-1);
if(hex[i]>='a' && hex[i]<='f') decimal+=(hex[i]-87)*pow(16,length-1);
}
/* At this point decimal contains the decimal value of given hexadecimal number. */
i=1;
while(decimal!=0)
{
octal+=(decimal%8)*i;
decimal/=8;
i*=10;
}
return octal;
}
/****************************************
Output:
Enter hexadecimal number: 1A2
Octal number:642
*************************************************/
===============================================================================================
* Write a program to convert hexadecimal number into equivalent decimal number system
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
unsigned long convertToDecimal(char hex[]);
int main()
{
char hex[9];// 8 characters for 32-bit Hexadecimal Number and one for '\0'.
unsigned long decimalNumber;
printf(" C Program to Convert Hexadecimal Number to Decimal Number \n");
printf(" Enter 32-bit Hexadecimal Number : ");
scanf("%s", hex);
decimalNumber = convertToDecimal(hex);
printf(" Decimal Number is %u \n", decimalNumber);
printf(" Press enter to continue... \n");
fflush(stdin);
getchar();
return 0;
}
unsigned long convertToDecimal(char hex[])
{
char *hexString;
int length = 0;
const int base = 16; // Base of Hexadecimal Number
unsigned long decimalNumber = 0;
int i;
// Find length of Hexadecimal Number
for (hexString = hex; *hexString != '\0'; hexString++)
{
length++;
}
// Find Hexadecimal Number
hexString = hex;
for (i = 0; *hexString != '\0' && i < length; i++, hexString++)
{
// Compare *hexString with ASCII values
if (*hexString >= 48 && *hexString <= 57) // is *hexString Between 0-9
{
decimalNumber += (((int)(*hexString)) - 48) * pow(base, length - i - 1);
}
else if ((*hexString >= 65 && *hexString <= 70)) // is *hexString Between A-F
{
decimalNumber += (((int)(*hexString)) - 55) * pow(base, length - i - 1);
}
else if (*hexString >= 97 && *hexString <= 102) // is *hexString Between a-f
{
decimalNumber += (((int)(*hexString)) - 87) * pow(base, length - i - 1);
}
else
{
printf(" Invalid Hexadecimal Number \n");
printf(" Press enter to continue... \n");
fflush(stdin);
getchar();
return 0;
exit(0);
}
}
return decimalNumber;
}
/********************************************
Enter 32-bit Hexadecimal Number : 10
Decimal Number is 16
***********************************/
=================================================================================================================
* Write a program for convert Decimal Number into BCD Number.
#include<stdio.h>
#include<conio.h>
#include<string.h>
int validate(char[]);
void start_detail();
void print_line();
int main()
{
int l,i,flag=1;
char ch,num[10];
do
{
flag=1;
start_detail();
printf("\n\n\t\tEnter Decimal Number to Convert BCD Number : ");
scanf("%s",&num);
printf("\n");
print_line();
printf("\n\t\tYour BCD Number is : ");
flag=validate(num);
if(flag==1)
{
l=strlen(num);
for(i=0; i<l;i++)
{
switch(num[i])
{
case '0' :
printf("0000");
break;
case '1' :
printf("0001");
break;
case '2' :
printf("0010");
break;
case '3' :
printf("0011");
break;
case '4' :
printf("0100");
break;
case '5' :
printf("0101");
break;
case '6' :
printf("0110");
break;
case '7' :
printf("0111");
break;
case '8' :
printf("1000");
break;
case '9' :
printf("1001");
break;
case '.' :
printf(".");
break;
}
}
}
else
{
printf("\n\n\t\tInvalid Decimal Number");
}
printf("\n");
print_line();
printf("\n\n\t\t\tDo you want to continue (y/n) : ");
ch=getche();
}
while(ch=='y' || ch=='Y');
getch();
}
int validate(char num[])
{
int ascii,flag=1,i,point=0;
for(i=0; num[i]!='\0'; i++)
{
ascii=num[i];
if(ascii==46)
{
point++;
}
if(!(ascii>=48 && ascii<=57 || ascii==46))
{
flag=0;
}
}
if(point > 1)
{
flag = 0;
}
return flag;
}
void print_line()
{
printf("\n\t\t---------------------------------------------\n");
}
void start_detail()
{
system("cls");
printf("\n");
printf("\n\t\t**************************************************\n");
printf("\n\t\t* CONVERSION OF DECIMAL NUMBER INTO BCD NUMBER *\n");
printf("\n\t\t**************************************************\n");
}
/*************************************
* CONVERSION OF DECIMAL NUMBER INTO BCD NUMBER
Enter Decimal Number to Convert BCD Number : @
Invalid Decimal Number !
Do you want to continue (y/n) : y
Enter Decimal Number to Convert BCD Number : M
Invalid Decimal Number !
Do you want to continue (y/n) : y
Enter Decimal Number to Convert BCD Number : 102
----------------------------------------------
Your BCD Number is : 000100000010
----------------------------------------------
===========================================================================================================================
* Write a program for convert Decimal Number into Binary Number using bitwise operator.
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<stdlib.h>
#define s 10
void start_detail();
void print_line();
int main()
{
int n,i,m,k,f=1;
char ch,num[s];
do
{
f=1;
start_detail();
printf("\n\t\tEnter any Decimal number to convert Binary Number : ");
scanf("%s",num);
printf("\n");
print_line();
for(i=0; num[i]!='\0' && f==1 ; i++)
{
if(!(isdigit(num[i])))
f = 0;
}
if(f == 1)
{
n = atoi(num);
for(i=15 ; i>=0 ; i--)
{
m = 1 << i;
k = n & m;
if(k == 0)
{
printf("0");
}
else
{
printf("1");
}
}
}
else
{
printf("\n\t\tInvalid Decimal Number !");
}
printf("\n");
print_line();
printf("\n\n\t\t\tDo you want to continue (y/n) : ");
ch=getche();
}
while(ch=='y' || ch=='Y');
getch();
}
void print_line()
{
printf("\n\t\t\t------------------------------------\n");
}
void start_detail()
{
system("cls");
printf("\n");
printf("\n\t\t***********************************************************\n");
printf("\n\t\t* CONVERSION OF DECIMAL NUMBER INTO BINARY CODE NUMBER *\n");
printf("\n\t\t***********************************************************\n");
}
/**********************************
Enter any Decimal number to convert Binary Number : #
------------------------------------
Invalid Decimal Number !
*****************************/
============================================================================================================================================
Write a program for convert Decimal Number into Excess-3 Number .
#include<stdio.h>
#include<conio.h>
#include<string.h>
int validate(char[]);
void start_detail();
void print_line();
int main()
{
int l,i,val,flag=1;
char ch,num[10];
do
{
flag=1;
start_detail();
printf("\n\t\t\Enter Decimal Number to Convert Excess-3 Number : ");
scanf("%s",num);
printf("\n");
print_line();
printf("\n\t\tExcess-3 Number Is : ");
flag = validate(num);
if(flag == 1)
{
l= strlen(num);
for(i=0; i<l;i++)
{
val=(int)num[i]-'0';
switch(val + 3)
{
case 3 :
printf("0011");
break;
case 4 :
printf("0100");
break;
case 5 :
printf("0101");
break;
case 6 :
printf("0110");
break;
case 7 :
printf("0111");
break;
case 8 :
printf("1000");
break;
case 9 :
printf("1001");
break;
case 10 :
printf("1010");
break;
case 11 :
printf("1011");
break;
case 12 :
printf("1100");
break;
case 1 :
printf(".");
break;
}
}
}
else
{
printf("\n\t\tInvalid Decimal Number !");
}
printf("\n");
print_line();
printf("\n\n\t\t\tDo you want to continue (y/n) : ");
ch=getche();
}
while(ch=='y' || ch=='Y');
getch();
}
int validate(char num[])
{
int ascii,flag=1,i,point=0;
for(i=0; num[i]!='\0'; i++)
{
ascii=num[i];
if(ascii==46)
{
point++;
}
if(!(ascii>=48 && ascii<=57 || ascii==46))
{
flag=0;
}
}
if(point > 1)
{
flag=0;
}
return flag;
}
void print_line()
{
printf("\n\t\t----------------------------------------------\n");
}
void start_detail()
{
system("cls");
printf("\n");
printf("\n\t\t********************************************************\n");
printf("\n\t\t* CONVERSION OF DECIMAL NUMBER INTO EXCESS-3 NUMBER *\n");
printf("\n\t\t********************************************************\n");
}
/********************************
Enter Decimal Number to Convert Excess-3 Number : $
----------------------------------------------
Invalid Decimal Number !
***********************************************/
===================================================================================================================
* Write a program for convert Binary Number into Gray code Number.
#include<stdio.h>
#include<conio.h>
#include<string.h>
int validate(char[]);
void start_detail();
void print_line();
int main()
{
char ch,num[20];
int l,i,val,flag=0;
do
{
flag=0;
star_detail();
printf("\n\t\tEnter Binary Number to Convert Gray number : ");
scanf("%s",num);
print_line();
flag = validate(num);
if(flag==0)
{
printf("\n\t\tGray Code Number is : ");
printf("%c",num[0]);
l=strlen(num);
for(i=0; i<l-1; i++)
{
val = (int)((num[i] -'0')+(int)(num[i+1]-'0')) %2;
printf("%d",val);
}
}
else
{
printf("\n\n\t\t\tInvalid Binary Number !");
}
printf("\n");
print_line();
printf("\n\n\t\tDo you want to continue (y/n) : ");
ch=getche();
}
while(ch=='y' || ch=='Y');
getch();
}
int validate(char num[])
{
int ascii,flag=0,i;
for(i=0; num[i]!= '\0'; i++)
{
ascii=num[i];
if(!(ascii>=48 && ascii<=49))
{
flag=1;
}
}
return flag;
}
void print_line()
{
printf("\n\t\t-----------------------------------------------\n");
}
void star_detail()
{
system("cls");
printf("\n");
printf("\n\t\t******************************************************\n");
printf("\n\t\t* CONVERSION OF BINARY NUMBER INTO GRAY CODE NUMBER *\n");
printf("\n\t\t******************************************************\n\n");
}
/*********************************************
Enter Binary Number to Convert Gray number : M
-----------------------------------------------
Invalid Binary Number !
******************************************/
====================================================================================================================================
Write a program for convert Gray code Number into Binary Number.
#include<stdio.h>
#include<conio.h>
#include<string.h>
int validate(char[]);
void start_detail();
void print_line();
int main()
{
char num[20],ch;
int l,i,val,ans,flag=1;
do
{
flag=1;
start_detail();
printf("\n\t\tEnter Gray Number into Convert Binary Number : ");
scanf("%s",num);
printf("\n");
print_line();
flag = validate(num);
if(flag == 1)
{
l = strlen(num);
printf("\n\t\t\tBinary Number Is : ");
printf("%c",num[0]);
val = num[0];
for(i=1 ; i <l ;i++)
{
ans = (int)((num[i] -'0') + (int)(val)) % 2;
val = ans;
printf("%d",ans);
}
}
else
{
printf("\n\t\t\tInvalid Gray number !");
}
printf("\n");
print_line();
printf("\n\n\t\t\tDo you want to continue (y/n) : ");
ch=getche();
}
while(ch=='y' || ch=='Y');
getch();
}
int validate(char num[])
{
int ascii,flag=1,i;
for(i=0 ; num[i] != '\0' ; i++)
{
ascii = num[i];
if(!(ascii >=48 && ascii <=49))
{
flag=0;
}
}
return flag;
}
void start_detail()
{
system("cls");
printf("\n");
printf("\n\t\t*******************************************************\n");
printf("\n\t\t* CONVERSION OF GRAY CODE NUMBER INTO BINARY NUMBER *\n");
printf("\n\t\t*******************************************************\n\n");
}
void print_line()
{
printf("\n\t\t\t--------------------------------");
}
/******************************************************
Output :
Enter Gray Number into Convert Binary Number : 15
--------------------------------
Invalid Gray number !
*****************************************************/
====================================================================================================================
Write a program for convert Decimal Number into Gray code Number.
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define size 50
void start_detail();
void print_line();
int main()
{
int i,j,k,dec,swap=0,len=0;
char value[size],ans[size],ch;
do
{
swap=0,len=0;
start_detail();
printf("\n\n\t\t\tEnter Value in Decimal Format : ");
scanf("%d",&dec);
printf("\n");
print_line();
for(i=0;dec!=0;i++)
{
if(dec % 2 == 0 )
{
value[i]=48;
}
else
{
value[i]=49;
}
dec/=2;
//printf("%c",value[i]);
}
i--;
k=i;
//len=strlen(value);
for(j=0;j<=(i/2);j++)
{
swap=value[j];
value[j]=value[i];
value[i]=swap;
i--;
}
for(i=0;i<=k;i++)
{
//printf("%c",value[i]); //Here get values of Binary Number
}
printf("\n\t\t\tGray Code Number is : ");
ans[0]=value[0];
printf("%c",ans[0]);
for(i=0;i<k;i++)
{
j=i;
j++;
if(value[i] ^ value[j])
{
ans[j]=49;
printf("%c",ans[j]);
}
else
{
ans[j]=48;
printf("%c",ans[j]);
}
}
printf("\n");
print_line();
printf("\n\n\t\t\tDo you want to continue (y/n) : ");
ch=getche();
}
while(ch=='y' || ch=='Y');
getch();
}
void print_line()
{
printf("\n\t\t\t------------------------------------\n");
}
void start_detail()
{
system("cls");
printf("\n");
printf("\n\t\t*********************************************************\n");
printf("\n\t\t* CONVERSION OF DECIMAL NUMBER INTO GRAY CODE NUMBER *\n");
printf("\n\t\t*********************************************************\n");
}
/**************************************
Enter Value in Decimal Format : 10
------------------------------------
Gray Code Number is : 1111
**************************************************/
=====================================================================================================================================
* PROGRAM FOR CONVERSION FROM ANY NUMBER SYSTEM TO ANY NUMBER SYSTEM.
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<string.h>
void details();
void details()
{
printf("\n\t\tEnter 2 for Binary");
printf("\n\t\tEnter 3 for Turnary");
printf("\n\t\tEnter 4 for Quarternary");
printf("\n\t\tEnter 5 for Quinary");
printf("\n\t\tEnter 8 for Octal");
printf("\n\t\tEnter 10 for Decimal");
printf("\n\t\tEnter 12 for decimal");
printf("\n\t\tEnter 16 for Hexa Decimal");
}
int main()
{
int num1[30],i,j,choise,count=0,flag=0,sum1=0,base=0,rem,temp,any1[100],dest,len=0;
float sum2=0,tot,temp1,rem1;
char n1[15],any[100],any2[100],choice;
do
{
clrscr();
flag=0;
details();
printf("\n\n\t\tEnter source number = ");
scanf("%d",&choise);
switch(choise)
{
case 2:
base=2;
break;
case 3:
base=3;
break;
case 4:
base=4;
break;
case 5:
base=5;
break;
case 8:
base=8;
break;
case 10:
base=10;
break;
case 12:
base=12;
break;
case 16:
base=16;
break;
default:
flag=1;
printf("\t\tinvalid value");
getch();
break;
}
}while(flag==1);
if(base==2 || base==3 || base==4 || base==5 || base==8 || base==10 || base==12 || base==16)
{
do
{
flag=0;
printf("\n\n\t\tEnter Number :-- ");
scanf("%s",n1);
for(i=0;n1[i]!='\0';i++)
{
if(n1[i]!='.')
{
if(n1[i]>47 && n1[i]<base+48)
num1[i]=n1[i]-48;
else if(n1[i]>96 && n1[i]<99 && base>10)
num1[i]=n1[i]-87;
else if(n1[i]>64 && n1[i]<67 && base>10)
num1[i]=n1[i]-55;
else if(n1[i]>96 && n1[i]<103 && base>12)
num1[i]=n1[i]-87;
else if(n1[i]>64 && n1[i]<71 && base>12)
num1[i]=n1[i]-55;
else
{
flag=1;
}
}
len++;
}
if(flag==1)
{
printf("\n\t\tEnter The Valid Numbers.........!");
getch();
}
}while(flag==1);
i=0;
while(n1[i]!='.' && n1[i]!='\0')
{
i++;
count++;
}
for(i=count-1,j=0;i>=0;i--,j++)
{
sum1=sum1+num1[i]*pow(base,j);
}
if(n1[count]=='.')//Fraction Part.......!
{
for(i=count+1,j=-1;n1[i]!='\0';i++,j--)
{
(float)sum2=(float)sum2+(float)num1[i]*pow(base,j);
}
}
do
{
flag=0;
printf("\n\t\tEnter destination number = ");
scanf("%d",&dest);
switch(dest)
{
case 2:
dest=2;
break;
case 3:
dest=3;
break;
case 4:
dest=4;
break;
case 5:
dest=5;
break;
case 8:
dest=8;
break;
case 10:
dest=10;
break;
case 12:
dest=12;
break;
case 16:
dest=16;
break;
default:
printf("\t\tNot A Valid Choice...");
flag=1;
getch();
break;
}
}while(flag==1);
if(dest==10)
{
tot=sum1+sum2;
printf("\n\t\tDecimal Number=%f",tot);
}
else if(dest==2||dest==3||dest==4||dest==5||dest==8||dest==12||dest==16)
{
temp=sum1;
i=0;
while(temp!=0)
{
rem=temp%dest;
switch(rem)
{
case 10:
any[i]='A';
break;
case 11:
any[i]='B';
break;
case 12:
any[i]='C';
break;
case 13:
any[i]='D';
break;
case 14:
any[i]='E';
break;
case 15:
any[i]='F';
break;
default:
any[i]=rem+'0';
break;
}
++i;
temp=temp/dest;
}
any[i]='\0';
strrev(any);
temp1=sum2;
i=1;
while(i<=8)
{
rem=temp1*dest;
rem1=temp1*dest;
temp1=rem1-rem;
switch(rem-87)
{
default:
any1[i]=rem+'0'-48;
break;
}
++i;
}
printf("\n\n\t\tThe converted answer is = %s.",any);
for(i=1;i<=8;++i)
{
switch(any1[i])
{
case 10:
printf("A");
break;
case 11:
printf("B");
break;
case 12:
printf("C");
break;
case 13:
printf("D");
break;
case 14:
printf("E");
break;
case 15:
printf("F");
break;
default:
printf("%d",any1[i]);
break;
}
}
}
}
getch();
return 0;
}
/************************************
Output:
Enter 2 for Binary
Enter 3 for Turnary
Enter 4 for Quarternary
Enter 5 for Quinary
Enter 8 for Octal
Enter 10 for Decimal
Enter 12 for decimal
Enter 16 for Hexa Decimal
Enter source number = 2
Enter Number :-- 1111.1111
Enter destination number = 16
The converted answer is = F.F
**********************************************/
====================================================================================================================
* program for decimal to bcd
#include<stdio.h>
#include<conio.h>
#define size 20
void main(){
int i,j,k,l,n,tmp;
char s[size],r[size],sr[size+size];
int srp=0; //sr pointer
printf("enter decimal number: ");scanf("%s",&s);
//find string size
for(i=0;s[i]!='\0';i++);
//convert individual number to binary
k=0;
for(i=0;s[i]!='\0';i++){
n=s[i]-48;
while(n>=1){
j=n%2;
n/=2;
r[k++]=j+48;
}
r[k]='\0';
//printf("r=%s\n",r);
//reverse binary
tmp=k;
j=k-1;
for(l=0;l<=j;l++,j--){
k=r[l];
r[l]=r[j];
r[j]=k;
}
//add binary of a number to bcd
k=tmp;
j=0;
//printf("r=%s\n",r);
for(l=0;l<4;l++){
if((l+k)<4){
sr[srp++]='0';
}else{
sr[srp++]=r[j++];
}
}
sr[srp++]=' ';
sr[srp]=r[0]='\0';
k=0;
}
printf("the bcd string is: %s",sr);
getch();
}
/***********************************
OUTPUT:
=======
***************************/
===============================================================================================================================
program for decimal to excess-3
#include<stdio.h>
#include<conio.h>
#define size 20
void main(){
int i,j,k,l,n,tmp;
char s[size],r[size],sr[size+size];
int srp=0; //sr pointer
printf("enter decimal number: ");scanf("%s",&s);
//find string size
for(i=0;s[i]!='\0';i++);
//convert individual number to binary
k=0;
for(i=0;s[i]!='\0';i++){
n=s[i]-48;
n+=3;
while(n>=1){
j=n%2;
n/=2;
r[k++]=j+48;
}
r[k]='\0';
//printf("r=%s\n",r);
//reverse binary
tmp=k;
j=k-1;
for(l=0;l<=j;l++,j--){
k=r[l];
r[l]=r[j];
r[j]=k;
}
//add binary of a number to bcd
k=tmp;
j=0;
//printf("r=%s\n",r);
for(l=0;l<4;l++){
if((l+k)<4){
sr[srp++]='0';
}else{
sr[srp++]=r[j++];
}
}
sr[srp++]=' ';
sr[srp]=r[0]='\0';
k=0;
}
printf("the excess-3 string is: %s",sr);
getch();
}
/***************************************
OUTPUT:
=======
-------------------------------------------------------------------------------
Q1] Using Loop & Bitwise operators both.
E.G.: i/ps A=____
B=____
Result: A.B=_______ (ANDing of A & B)
A=1; B=1; Result A.B=1 (IN BINARY ONLY)
ANS:-
#include<stdio.h>
#include<conio.h>
void main()
{
int A,B,i,ans;
clrscr();
printf("\nEnter A:");
scanf("%d",&A);
printf("\nEnter B:");
scanf("%d",&B);
if(A && B)
{
ans=1;
}
else
ans=0;
/* if(A || B)
{
ans=1;
}
else
ans=0; */
printf("\nA.B = %d",ans);
getch();
}
/*----------------------------*
Enter A:1
Enter B:1
A.B = 1
*/
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Q2] Same as above for AND, OR, NOT, NAND, XOR. Also provide menu choice for
particular logic operations
ANS:-
#include<stdio.h>
#include<conio.h>
void main()
{
int A,B,i,ans,ch;
clrscr();
printf("\nEnter A:");
scanf("%d",&A);
printf("\nEnter B:");
scanf("%d",&B);
printf("\n1. AND ");
printf("\n2. OR");
printf("\n3. NOT ");
printf("\n4. NAND ");
printf("\n5. XOR ");
printf("\nYour Choice :");
scanf("%d",&ch);
switch(ch)
{
case 1:
if(A && B)
ans=1;
else
ans=0;
break;
case 2:
if(A || B)
ans=1;
else
ans=0;
break;
case 3:
if( !A )
ans=1;
else
ans=0;
break;
case 4:
if(!(A & B))
ans=0;
else
ans=1;
break;
case 5:
if(A ^ B)
ans=1;
else
ans=0;
break;
default:
printf("wrong Choice");
}
printf("\nAns : %d",ans);
getch();
}
/*---------------
Enter A:1
Enter B:1
1. AND
2. OR
3. NOT
4. NAND
5. XOR
Your Choice :1
Ans : 1
Enter A:1
Enter B:0
1. AND
2. OR
3. NOT
4. NAND
5. XOR
Your Choice :2
Ans : 1
Enter A:1
Enter B:0
1. AND
2. OR
3. NOT
4. NAND
5. XOR
Your Choice :5
Ans : 1
Enter A:0
Enter B:1
1. AND
2. OR
3. NOT
4. NAND
5. XOR
Your Choice :4
Ans : 0
Enter A:1
Enter B:0
1. AND
2. OR
3. NOT
4. NAND
5. XOR
Your Choice :3
Ans : 0
*/
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Q3] Same as above for 8-bit binary word.
Q4] Same as above for 8-bit binary word.
ANS 3&4 are same:-
#include<stdio.h>
#include<conio.h>
void main()
{
int a[8],b[8],ans[10],i;
clrscr();
printf("\n enter 8-bit binary number:");
for(i=0;i<8;i++)
{
scanf("%d",&a[i]);
} printf("\n enter 8-bit binary number:");
for(i=0;i<8;i++)
{
scanf("%d", &b[i]);
}
for(i=0;i<8;i++)
{
if(a[i]&&b[i])
{
ans[i]=1;
}
else
ans[i]=0;
printf("%d",ans[i]);
}
getch();
}
/*-----------------
enter 8-bit binary number:1
1
1
1
1
0
0
0
enter 8-bit binary number:1
0
1
0
1
0
1
0
10101000
*/
0 comments:
Post a Comment