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

Which function in C can be used to append a string to another string?

0 Answers  


What is the difference between new and malloc functions?

0 Answers   InterGraph,


what is recursion in C

0 Answers   Cap Gemini,


main() { int i = 10; printf(" %d %d %d \n", ++i, i++, ++i); }

10 Answers   TCS, Vector,


what is the self-referential structure?

1 Answers  


How reliable are floating-point comparisons?

0 Answers  


c program to compute AREA under integral

0 Answers   Infosys,


What is the difference between macros and inline functions?

5 Answers   Global Edge, L&T,


How to find the usage of memory in a c program

1 Answers   Infosys,


errors in computer programmes are called

1 Answers   NET,


how to find the kth smallest element in the given list of array elemnts.

8 Answers   Silicon,


Give basis knowledge of web designing ...

0 Answers   HCL,


Categories