how do u find out the number of 1's in the binary
representation of a decimal number without converting it
into binary(i mean without dividing by 2 and finding out
the remainder)? three lines of c code s there it
seems...can anyone help

Answers were Sorted based on User's Feedback



how do u find out the number of 1's in the binary representation of a decimal number without ..

Answer / ravi saini

unsigned int count=0,no;
/*
Enter no Here................
*/
while(no ! =0)
{
if((no & 0x01) ==1)
count++;
no=no >>1
}
printf("%d",count);

Is This Answer Correct ?    9 Yes 3 No

how do u find out the number of 1's in the binary representation of a decimal number without ..

Answer / barun

int x =0x1;
static count;
while(no ! =0)
{
if((no >>1 & x) ==1)
count+=1;
}
printf("%d",count);

Is This Answer Correct ?    7 Yes 2 No

how do u find out the number of 1's in the binary representation of a decimal number without ..

Answer / srsabariselvan

int main()
{
int n,i=0;
scanf("%d",&n);
while(n!=0)
{
if(n&01)
i++;
n>>=1;
}
printf("%d",i);
}

Is This Answer Correct ?    3 Yes 2 No

how do u find out the number of 1's in the binary representation of a decimal number without ..

Answer / krishna

The above solutions will not work for negative numbers.
if a negative number is right shifted, the most significant bit will become 1. so the number never becomes zero.

The following will work for both +ve and -ve numbers.

#include <stdio.h>
int main(int argc, char *argv[]) {
int count = 0;
int no = 3;
int x = 0x01;

if ( argc > 1) {
no = atoi(argv[1]);
}

while ( x != 0) {
if( no & x ) {
count++;
}
x <<= 1;
}

printf( "number: %d , no.of 1s in it: %d\n", no, count);
return 0;
}

Is This Answer Correct ?    1 Yes 2 No

how do u find out the number of 1's in the binary representation of a decimal number without ..

Answer / jay

Well bitwise operators are one way to do it. But for
positive integers, I thought up another solution. I think
this could work for int n:

for(int i = 0, int count = 0; i < sizeOf(n) / 8.0; i++){
count += (n - 2^i > 0) ? 1 : 0;
}

Is that what you meant by 3 lines?

Is This Answer Correct ?    0 Yes 1 No

Post New Answer

More C Interview Questions

write a c program to change only the 3rd bit of the particular number such that other bits are not affected.. if bitnum=10(say.. it can be any no..

10 Answers   Bosch, Mind Tree,


Diff between for loop and while loop?

2 Answers   TCS,


What do you mean by c what are the main characteristics of c language?

0 Answers  


Describe the steps to insert data into a singly linked list.

0 Answers  


if we take a number as a char then can we manipulate(add, subtract) on this number

2 Answers  






What is volatile

2 Answers  


How can I write a function that takes a format string and a variable number of arguments?

0 Answers  


given post order,in order construct the corresponding binary tree

0 Answers   S-Cube, Wipro,


Who developed c language?

0 Answers  


write a prgram of swapping with 2 valiables

6 Answers  


Tell me about low level programming languages.

0 Answers   Amdocs,


What does %d do in c?

0 Answers  


Categories