Single Choice Not Set

QWhich of the following statements are correct about the program?

#include<stdio.h>

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

ID: #1208 Operators and Enums in C Language 1,318 views
Question Info
#1208Q ID
Not SetDifficulty
Operators and Enums in C LanguageTopic

Choose the Best Option

Click any option to instantly check if you're correct.

  • 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
Correct Answer

Explanation

Option A:

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.

Share This Question

Challenge a friend or share with your study group.