Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a C program that does the following for binary and hexa decimal numbers th

ID: 3787148 • Letter: W

Question

Write a C program that does the following for binary and hexa decimal numbers that performs the same as the output given below.

* Display binary and hexa decimal numbers after conversion from decimal numbers

* Exchange the outer bytes of binary and hexa decimal number

* Exchange the inner bytes of binary and hexa decimal number

* Display number of set bits in each byte

THE C PROGRAM SHOULD GIVE SAME OUTPUT AS THE PICTURE

cc DHEXA DECIMAL o p2x p 2. p2x Input number 287 454 020 Select option. display number in hexadecimal 2 exchange outer bytes 3 exchange inner bytes 4 display number of set bits in each byte exit number 0x11223344 select option. display number in hexadecimal 2 exchange outer bytes 3 exchange inner bytes display number of set bits in each byte exit number before 12233 44 number after 0x 22331 I

Explanation / Answer

*/

# cc-DHEXADECIMAL-O p2X p2.c

# ./p2X

#include<stdio.h>

#include<conio.h>

void main()

{

int 287454020 ,num,*bin,*oct,bin_len,oct_len,hex_len;

char *hex,ch;

clrscr();

do

{

printf(" Enter the number to be converted :");

scanf("%d",&num);

//printf(" %c ",(char)48);

printf(" ");

//binary

bin_len=binary(bin,num);

printf(" Binary : ");

for(i=0;i<bin_len;i++)

nsigned char swapNibbles(unsigned char x)

{

    return ( (x & 0x0F)<<4 | (x & 0xF0)>>4 );

}

int main()

{

    unsigned char x = 100;

    printf("%u", swapNibbles(x));

    return 0;

}

printf("%d",bin[i]);

printf(" ");

//hexadecimal

hex_len=hexadecimal(hex,num);

printf(" Hexadecimal : ");

for(i=0;i<hex_len;i++)

printf("%c",hex[i]);

printf(" ");

      printf(" Enter another number(y/n)?");

      ch=getche();

                                getch();

}while(ch!='n');

}

int binary(int *bin,int num)

{

int rem=0,i=0;

     do{

     rem=num%2;

     num=num/2;

     bin[i]=rem;

     i++;

     }while(num>0);

array_reverse_i(bin,i);

return i

{

int rem=0,i=0;

     do{

     rem=num%8;

     num=num/8;

     oct[i]=rem;

     i++;

     }while(num>0);

int hexadecimal(char *hex,int num)

{

int rem=0,i=0;

     do{

     rem=num%16;

     num=num/16;

     switch (rem)

                {

                case 10 : hex[i]='A';

                                i++;

                                break;

                case 11 : hex[i]='B';

                                i++;

                                break;

                case 12 : hex[i]='C';

                                i++;

                                break;

                case 13 : hex[i]='D';

                                i++;

                                break;

                case 14 : hex[i]='E';

                                i++;

                                break;

                case 15 : hex[i]='F';

                                i++;

                                break;

                default :hex[i]=(char)(rem+48);

                                i++;

     }

     }while(num>0);

array_reverse_c(hex,i);

return i;

}

array_reverse_i(int *arr,int len)

{

int i,temp;

for(i=0;i<len/2;i++)

{

   temp=arr[i];

   arr[i]=arr[len-1-i];

   arr[len-1-i]=temp;

}

return 0;

}

array_reverse_c(char *arr,int len)

{

int i;

char temp;

for(i=0;i<len/2;i++)

{

   temp=arr[i];

   arr[i]=arr[len-1-i];

   arr[len-1-i]=temp;

}

return 0;

}

/*

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote