Dark Mode

1,726 views

1 vote

Consider the following C++ function f():

unsigned int f(unsigned int n) { unsigned int b=0; while (n) { b+=n & 1; n>>1; } return b; }

The function f() returns the int that represents the ____P____ in the binary representation of positive integer n, where P is

- number of $0$’s
- number of bits
- number of consecutive $1$’s
- number of $1$’s

1 vote

Ans $4)$

Program counting number of $1.$

It is given in question, that $n$ represent, binary representation for $n.$

Now, if we check 'while' loop, $b$ is increments it's value only when last digit of $n$ is $1.$ and then it is right sifting the value.

So, $b$ is returning nothing but number of $1's$ in $n.$

Program counting number of $1.$

It is given in question, that $n$ represent, binary representation for $n.$

Now, if we check 'while' loop, $b$ is increments it's value only when last digit of $n$ is $1.$ and then it is right sifting the value.

So, $b$ is returning nothing but number of $1's$ in $n.$