# Integer To Binary Converter

## Integer To Binary Converter

I am interesting about how we can convert a integer number to binary number. So, I am try to create Integer To Binary Converter with C source Code.I am create this code from tutorial at http://www.helpwithpcs.com/courses/binary-numbers.htm.

Please look Integer To Binary source code below :

/*
* iolibrary.c
*
*  Created on: Feb 9, 2012
*      Author: toto
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>

void int2binary(int inumber, char *binnumber, int lenbuffer);
int main(int argc, char **argv)
{
int inumber;
char *binnumber;
int nbuffer;

sscanf(argv[1], "%i", &inumber);
sscanf(argv[2], "%i", &nbuffer);

binnumber = (char*) calloc(nbuffer, sizeof(char));
int2binary(inumber, binnumber, nbuffer);

printf("Input = %i --> binary number = %s \n", inumber, binnumber);
free(binnumber);
return(1);
}

/* convert integer to binary number */
void int2binary(int inumber, char *binnumber, int lenbuffer)
{
int iremainder, iresidue;
char *tmp;

memset(binnumber, 0, lenbuffer*sizeof(char));  //initialization binary output
tmp = (char*) calloc(lenbuffer, sizeof(char));

while(true) //loop until number=0
{
memset(tmp, 0, lenbuffer*sizeof(char));
iremainder = inumber%2; //get Remainder after division with 2

iresidue = (inumber-iremainder) / 2; //update residue after division with 2

inumber = iresidue; //update input number with

sprintf(tmp,"%i%s", iremainder, binnumber);
sprintf(binnumber,"%s",tmp);

if(inumber == 0)  //exit loop if dont number=0
break;
}
free(tmp);
}

Save this Integer to Binary converter source code with name cbinary_converter.c. Compile with command :

gcc cbinary_converter.c -o cbinary_converter

We can running this Integer to Binary converter code with command :

./cbinary_converter integer_number buffer_alloc_length

buffer_alloc_length is maximum buffer allocation for create binary number. This number must be bigger than output binary number character.

Example Output:

toto@toto-laptop:~/Documents\$ ./cbinary_converter 78 100
Input = 78 --> binary number = 1001110
toto@toto-laptop:~/Documents\$ ./cbinary_converter 789 100
Input = 789 --> binary number = 1100010101