Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
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.



C Programming: Tips of the Day

Static variable inside of a function in C

The scope of variable is where the variable name can be seen. Here, x is visible only inside function foo().

The lifetime of a variable is the period over which it exists. If x were defined without the keyword static, the lifetime would be from the entry into foo() to the return from foo(); so it would be re-initialized to 5 on every call.

The keyword static acts to extend the lifetime of a variable to the lifetime of the programme; e.g. initialization occurs once and once only and then the variable retains its value - whatever it has come to be - over all future calls to foo().

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