Sft

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sft as PDF for free.

More details

  • Words: 1,039
  • Pages: 15
Project Report Language of Implementation : C

CODE CONVERSION WIZARD Number system is a set of symbols that are used to specify any number. The most commonly used number systems are decimal, binary, octal and hexadecimal. These number systems are defined on the basis of a radix or base which is the number of distinct digits in that particular system. The above mentioned number systems are widely used in digital systems like microprocessors, logic circuits, computers etc. and therefore knowledge of these is very essential. In one digital system, different codes may be used for different operations and it becomes necessary to convert data from one code to another. Decimal system has a base 10 binary system has a base 2 octal system has a base 8 hexadecimal system has a base 16 This software allows the user to interconvert between these codes. It is a menu driven program which allows the user to enter the code as per the choice of conversion. The code is compared and the control is transferred to the corresponding function. Then the function asks the user to enter the base code and the respective transformed code is displayed automatically. The program runs continuously. So multiple conversions can be performed by entering the serial number.

Number System Conversion . Decimal to Binary, Octal, Hexadecimal A systematic method for number conversion

Binary to Decimal Other number systems use different bases. The binary number system uses base 2, so the place values of the digits of a binary number correspond to powers of 2. For example, the value of the binary number 10011 is determined by computing the place value of each of the digits of the number: 1

0

0

1

1

the binary number

2^4

2^3

2^2

2^1

2^0

place values

Binary to Octal Example:

Binary to Hexadecimal Example:

Octal to Decimal The Octal number system uses base 8, so the place values of the digits of octal number correspond to powers of 8. For example, the value of the octal number 123 is determined by computing the place value of each of the digits of the number: 1

2

3

the octal number

8^2

8^1

8^0

place values

So (123)8 = (83)10 Octal to Binary Example:

Octal to hexadecimal Example:

27.358 = 0001 0111.0111 0100 = (17.74)16

Hexadecimal to Binary Example:

Hexadecimal to Decimal The hexadecimal number system uses base 16, so the place values of the digits of a hexadecimal number correspond to powers of 16. For example, the value of the hexadecimal number 11F is determined by computing the place value of each of the digits of the number: 1

1

F

the hex number

16^2

16^1

16^0

place values

So (11F)16 = (287)10 Hexadecimal to octal Example:

17.7416= (010 111.011 101)2 = 27.358

FLOWCHART

START Get the choice in an integer variable ā€˜jā€™. Transfer control to different functions corresponding to user choice of conversion.

1 decbin hexoct

decoct binhex

dechex

octdec

bindec

octbin

Do you want to continue?

binoct Octhex

YES

NO STOP

PROGRAM CODE #include<stdio.h>

hexbin hexdec

#include #include<math.h> #include<stdlib.h> #include<string.h> void decbin(void); void decoct(void); void dechex(void); void bindec(void); void binoct(void); void binhex(void); void octdec(void); void octbin(void); void octhex(void); void hexdec(void); void hexbin(void); void hexoct(void); void main() { int j; while(1) { printf("\n-----------------------CODE CONVERSION WIZARD----------------------- "); printf("\n\n\n ENTER YOUR CHOICE:\n"); printf("\n 1.decimal to binary"); printf("\n 2.decimal to octal"); printf("\n 3.decimal to hexadecimal"); printf("\n 4.binary to decimal"); printf("\n 5.binary to octal"); printf("\n 6.binary to hexadecimal"); printf("\n 7.octal to decimal"); printf("\n 8.octal to binary"); printf("\n 9.octal to hexadecimal"); printf("\n 10.hexadecimal to decimal"); printf("\n 11.hexadecimal to binary"); printf("\n 12.hexadecimal to octal"); printf("\n 13.exit\n\n"); scanf("%d",&j); if(j==1) { decbin(); } if(j==2) { decoct(); } if(j==3) { dechex();

} if(j==4) { bindec(); } if(j==5) { binoct(); } if(j==6) { binhex(); } if(j==7) { octdec(); } if(j==8) { octbin(); } if(j==9) { octhex(); } if(j==10) { hexdec(); } if(j==11) { hexbin(); } if(j==12) { hexoct(); } if(j==13) { printf("\n\nTHANK YOU FOR USING"); exit(0); } } } void decbin() { int i,n,r[10]; printf("\nenter the decimal number: "); scanf("%d",&n); for(i=0;n!=0;i++)

{ r[i]=n%2; n=n/2; } i--; printf("\nbinary equivalent: "); for(;i>=0;i--) { printf("%d",r[i]); } } void decoct() { int i,n,r[10]; printf("\nenter the decimal number: "); scanf("%d",&n); for(i=0;n!=0;i++) { r[i]=n%8; n=n/8; } i--; printf("\n octal equivalent: "); for(;i>=0;i--) { printf("%d",r[i]); } } void dechex() { int n; printf("\nenter decimal number: "); scanf("%d",&n); printf("\nhexadecimal equivalent:%x",n); } void bindec() { int n,d,i,x; d=0; printf("enter binary number: "); scanf("%d",&n); for(i=0;n!=0;i++) { x=n%10; d=d+pow(2,i)*x; n=n/10; }

printf("\ndecimal equivalent: %d",d); } void binoct() { int n,d,i,x,r[11]; d=0; printf("enter binary number"); scanf("%d",&n); for(i=0;n!=0;i++) { x=n%10; d=d+pow(2,i)*x; n=n/10; } for(i=0;d!=0;i++) { r[i]=d%8; d=d/8; } i--; printf("\n octal equivalent:"); for(;i>=0;i--) { printf("%d",r[i]); } } void binhex() { int n,d,i,x; d=0; printf("enter binary number"); scanf("%d",&n); for(i=0;n!=0;i++) { x=n%10; d=d+pow(2,i)*x; n=n/10; } printf("\nhexadecimal equivalent:%x",d); } void octdec() { int n,d,i,x; d=0; printf("enter octal number"); scanf("%d",&n); for(i=0;n!=0;i++)

{ x=n%10; d=d+pow(8,i)*x; n=n/10; } printf("\ndecimal value=%d",d); } void octbin() { int n,d,i,x,r[11]; d=0; printf("enter octal number"); scanf("%d",&n); for(i=0;n!=0;i++) { x=n%10; d=d+pow(8,i)*x; n=n/10; } for(i=0;d!=0;i++) { r[i]=d%2; d=d/2; } i--; printf("\nbinary equivalent:"); for(;i>=0;i--) { printf("%d",r[i]); } } void octhex() { int n,d,i,x; d=0; printf("enter octal number"); scanf("%d",&n); for(i=0;n!=0;i++) { x=n%10; d=d+pow(8,i)*x; n=n/10; } printf("\nhexadecimal equivalent:%x",d); } void hexdec() { int a;//debugging

int i,j,n[11],d=0; char arr[11]; printf("\nenter hexadecimal number:"); scanf("%x",&a); printf("\ndecimal equivalent:%d",a); /* for(i=0;arr[i]!='\0';i++); i--; for(j=0;i!=0;i--,j++) { if (arr[i]>='0'&& arr[i]<='9') { n[i]=arr[i]-'0'; } else if (arr[i]>='a'&& arr[i]<='f') { n[i]=arr[i]-'a'+10; } else if (arr[i]>='A'&& arr[i]<='F') { n[i]=arr[i]-'A'+10; } d=d+pow(16,j)*n[i]; } printf("\ndecimal equivalent:%d",d); */ } void hexbin() { int a; int temp; int i=0; int n[11],d=0,r[11]; int arr[11]; printf("\nenter hexadecimal number:"); scanf("%x",&a); temp=a; printf("\nBinary:"); for(;a>0;i++) { arr[i]=(char)a%2; a=a/2; } for(i=i-1;i>=0;i--) {

printf("%d",arr[i]); }

/* for(i=0;arr[i]!='\0';i++) { if (arr[i]>='0'&& arr[i]<='9') { n[i]=arr[i]-'0'; } else if (arr[i]>='a'&& arr[i]<='f') { n[i]=arr[i]-'a'+10; } else if (arr[i]>='A'&& arr[i]<='F') { n[i]=arr[i]-'A'+10; } d=d+pow(16,i)*n[i]; } for(i=0;n!=0;i++) { r[i]=d%2; d=d/2; } i--; printf("\nbinary equivalent:"); for(;i>=0;i--) { printf("%d",r[i]); } */ } void hexoct() { int a; int temp=0; int i=0; int n[11],d=0,r[11]; char arr[11]; printf("\nenter hexadecimal number:"); scanf("%x",&a); temp=a; printf("\nOctal:"); for(;a>0;i++) { arr[i]=(char)a%8;

a=a/8; } for(i=i-1;i>=0;i--) { printf("%d",arr[i]); }

/* for(i=0;arr[i]!='\0';i++) { if (arr[i]>='0'&& arr[i]<='9') { n[i]=arr[i]-'0'; } if (arr[i]>='a'&& arr[i]<='f') { n[i]=arr[i]-'a'+10; } if (arr[i]>='A'&& arr[i]<='F') { n[i]=arr[i]-'A'+10; } d=d+pow(16,i)*n[i]; } for(i=0;d!=0;i++) { r[i]=d%8; d=d/8; } i--; printf("\n octal equivalent:"); for(;i>=0;i--) { printf("%d",r[i]); } */ }

Related Documents

Sft
June 2020 7
Sft
October 2019 16
Organizacion Del Sft
June 2020 14
Med 1 1st Sft 2005
November 2019 12
Med 1 1st Sft 2004
November 2019 13