C Program to Convert a Decimal Number to Binary & Count the Number of 1s
C Program to Convert a Decimal Number to Binary &
Count the Number of 1s
This C Program converts a decimal number into binary & count
the number of 1s. The program uses module operation and multiplication with
base 2 operation for conversion. It also uses modulo operation to check for 1’s
and accordingly increments the count of 1s.
Here is source code of the C program to convert a decimal number to
binary & count the number of 1s. The C program is successfully compiled and
run on a Linux system. The program output is also shown below.
/*
 * C program to accept a decimal number and convert
it to binary
 * and count the number of 1's in the binary
number
 */
#include <stdio.h>
void main()
{
    long num, decimal_num, remainder, base = 1,
binary = 0, no_of_1s = 0;
    printf("Enter a decimal integer
\n");
    scanf("%ld", &num);
    decimal_num = num;
    while (num > 0)
    {
        remainder = num % 2;
        /* 
To count no.of 1s */
        if (remainder == 1)
        {
            no_of_1s++;
        }
        binary = binary + remainder * base;
        num = num / 2;
        base = base * 10;
    }
    printf("Input number is = %d\n",
decimal_num);
    printf("Its binary equivalent is =
%ld\n", binary);
    printf("No.of 1's in the binary number
is = %d\n", no_of_1s);
}
Output:
Enter a decimal integer
134
Input number is = 134
Its binary equivalent is = 10000110
No.of 1's in the binary number is = 3
Please write comments if you find anything
incorrect, or you want to share more information about the topic discussed
above.
 
 
 
 
