Skip to main content

BIT AND Operation

/**
    Program Name: AND Operation Between To Binary Numbers

    Description: This Program Converts A Decimal Number to its Binary
                       Equivalent, using shift Operator, and also performs the
                      "logical And" operation between them, and displays output.
                

    Author:  Tauqirul Haque
       
*/


void printBinary(int i);

int main()
{
    int number, number2;
    printf("Enter The Number : ");
    scanf("%d",&number);
   
    printf("Enter The Number : ");
    scanf("%d",&number2);
   
    printf(" \nA  =    :  ",number);
    printBinary(number);
   
    printf(" \nB  =    :  ",number);
    printBinary(number2);
   
    printf("\n==================================================");
   
    printf(" \n\nA & B   :  ");
    printBinary(number & number2);
    printf("\n==================================================\n\n");
   
}

void printBinary(int number)
{
    int mask;
    int position;
    int msb;
    int bit;
    int hexDiff = 0;
    int intTotalByte = sizeof(int);
   
    if(intTotalByte == 2)
    {
        msb = 15;
    }
    else
    {
        msb = 31;
    }
       
    for(position = msb; position >=0; position--)
    {
        mask = 1<
        bit = (number & mask)?1:0;
        printf("%d",bit);
        hexDiff++;
        if(hexDiff == 4)
        {
            printf(" ");
            hexDiff = 0;
        }
    }
   
    printf("\n");
}

Comments

Popular posts from this blog

Singly Linked List

/**     Program Name: Singly Linked List     Description: This Program is for Implemeting Singly Linked List     Author:  Tauqirul Haque         */ struct Linklist {     int item;     struct Linklist *next; }; typedef struct Linklist node; void insertAtBeginning(node **); void createAppendNode(node **); void insertInMiddle(node **); void deleteNode(node **); void displayNode(node **); void countNode(node **);  void searchElement(node **); void reverse(node **); void main() {     node *head = NULL;     int choice = 0;     while(choice != 9)     {             printf("\n\t\t\t1. Add Node At The Beginning ");     printf("\n\t\t\t2. Insert Element in the Middle ");     printf("\n\t\t\t3. Append New Node "); ...

FINDING FACTORIAL OF A NUMBER

/**     Program Name: FINDING FACTORIAL     Description: This Program finds a Factorial of a Given Number     Author:  Tauqirul Haque         */ long fact(long n); void main() {     long n;     printf("Enter N : ");     scanf("%d",&n);         if(n < 0)   //if its a neg number then changing the sign     {         n = -n;     }         printf("The fact of %ld  =  %ld \n\n",n,fact(n)); } long fact(long n) {     if(n==0 || n==1)     {         return 1;     }     else     {         return n*fact(n-1);     } }

BUBBLE SORT

/**     Program Name: BUBBLE SORT     Description: This Program sorts a Given Array in Ascending Order     Author:  Tauqirul Haque         */ #define SIZE 10 void bubbleSort(int data[SIZE]); void displayElement(int data[SIZE]); void main() {     int data[SIZE] = { 45,34,66,89,45,34,76,22,79, 12};         printf("\nThe Original Array Before Sorting ... ");     displayElement(data);         printf("\nArray After Sorting ... ");     bubbleSort(data);     displayElement(data);     } void displayElement(int data[SIZE]) {     int i;     for(i=0; i     {         printf("\nData[%d]  =  %d",i,data[i]);     }     printf("\n"); } void ...