w3resource

C Exercises: Convert a decimal number to binary without using an array

C For Loop: Exercise-41 with Solution

Write a program in C to convert a decimal number into binary without using an array.

Pictorial Presentation:

Convert a decimal number to binary without using an array

Sample Solution:

C Code:

#include <stdio.h>
#include <stdlib.h>
char *decimal_to_binary(int);
char *decimal_to_binary(int dn)
{
  int i, j, temp;
  char *ptr;
  temp = 0;
  ptr = (char*)malloc(32+1);
  for (i = 31 ; i >= 0 ; i--)
  {
    j = dn >> i;
    if (j & 1)
      *(ptr+temp) = 1 + '0';
    else
      *(ptr+temp) = 0 + '0';
    temp++;
  }
  *(ptr+temp) = '\0';
  return  ptr;
}
int main()
{
  int dn;
  char *ptr;
  printf("Input a decimal number: ");
  scanf("%d", &dn);
  ptr = decimal_to_binary(dn);
  printf("Binary number equivalent to said decimal number is: %s", ptr);
  free(ptr);
  return 0;
}
 

Sample Output:

Input a decimal number: 25
Binary number equivalent to said decimal number is: 0000000000000000000000000001
1001
--------------------------------
Process exited after 3.388 seconds with return value 0
Press any key to continue . . .
Input a decimal number: 105
Binary number equivalent to said decimal number is: 0000000000000000000000000110
1001
--------------------------------
Process exited after 5.013 seconds with return value 0
Press any key to continue . . .
Input a decimal number: 1105
Binary number equivalent to said decimal number is: 0000000000000000000001000101
0001
--------------------------------
Process exited after 17.33 seconds with return value 0
Press any key to continue . . .

Flowchart:

Flowchart : Convert a decimal number to binary without using array

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a C Program to display the pattern like pyramid using the alphabet.
Next: Write a program in C to convert a binary number into a decimal number without using array, function and while loop.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

C Programming: Tips of the Day

Clearing a char array c

It depends on how you want to view the array. If you are viewing the array as a series of chars, then the only way to clear out the data is to touch every entry. memset is probably the most effective way to achieve this.

On the other hand, if you are choosing to view this as a C/C++ null terminated string, setting the first byte to 0 will effectively clear the string.

Ref : https://bit.ly/3uM7JnL