>=1) {  if(num & 1)"/>
Home / C Programming / Bitwise Operators :: Discussion

Discussion :: Bitwise Operators

  1. Which of the following statements are correct about the program?

    #include 
     int main()
     {    
         unsigned int num;  
         int c=0;    
         scanf("%u", #);     
         for(;num;num>>=1)  
         {    
              if(num & 1)       
                  c++;    
         }    
         printf("%d", c);    
         return 0;
         } 
    

  2. A.

    It counts the number of bits that are ON (1) in the number num.

    B.

    It counts the number of bits that are OFF (0) in the number num.

    C.

    It sets all bits in the number num to 1

    D.

    Error

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    If we give input 4, it will print 1.
    Binary-4 == 00000000 00000100 ; Total number of bits = 1.

    If we give input 3, it will print 2.
    Binary-3 == 00000000 00000011 ; Total number of bits = 2.

    If we give input 511, it will print 9.
    Binary-511 == 00000001 11111111 ; Total number of bits = 9.


Be The First To Comment