C program to convert Decimal to Binary number system

Write a C program to input decimal number from user and convert to binary number system. How to convert from decimal number to binary number system in C program. Logic to convert decimal to binary number system in C programming.

Example

Input

Input decimal number: 112

Output

Binary number: 0111000

Required knowledge

Basic C programming, While loop, String

Decimal number system

Decimal number system is a base 10 number system. Decimal number system uses only 10 symbols to represent all number i.e. 0123456789

Binary number system

Binary number system is a base 2 number system. Binary number system uses only 2 symbols to represent all numbers i.e. 0 and 1

Algorithm to convert from decimal to binary

Algorithm Decimal to Binary conversion begin: read (decimal); binary ← 0; place ← 1; rem ← 0; while (decimal > 0) do begin  remdecimal % 2; binary ← (rem * place) + binary; placeplace * 10; decimaldecimal / 2; end write('Binary = ' binary) end

Program to convert decimal to binary number system

/** * C program to convert from Decimal to Binary number system */ #include <stdio.h> int main() { long long decimal, tempDecimal, binary; int rem, place = 1; binary = 0; /* Input decimal number from user */ printf("Enter any decimal number: "); scanf("%lld", &decimal); tempDecimal = decimal; /* Decimal to binary conversion */ while(tempDecimal > 0) { rem = tempDecimal % 2; binary = (rem * place) + binary; tempDecimal /= 2; place *= 10; } printf("Decimal number = %lld\n", decimal); printf("Binary number = %lld", binary); return 0; }

Note: The above program converts the decimal to binary number only up to 18 binary bits. Use the below program to convert from decimal to binary number for a higher range.

Program to convert decimal to binary more than 18 bits

/** * C program to convert from Decimal to Binary number system */ #include <stdio.h> #include <string.h> int main() { long decimal, tempDecimal; char binary[65]; int index = 0; /* Input decimal number from user */ printf("Enter any decimal value : "); scanf("%ld", &decimal); /* Copy decimal value to temp variable */ tempDecimal = decimal; while(tempDecimal > 0) { binary[index] = (tempDecimal % 2) + '0'; tempDecimal /= 2; index++; } binary[index] = '\0'; /* Reverse the converted binary to get final binary result */ strrev(binary); printf("Decimal value = %ld\n", decimal); printf("Binary value of decimal = %s", binary); return 0; }

Advance your C skills by learning this program using other approach.

Learn more – Program to convert decimal to binary using bitwise operator.

 

Output

 
 
 
Enter any decimal value : 112 Decimal value = 112 Binary value of decimal = 01110000

Happy coding 😉