I'm trying to understand binary and hexadecimal numbers. I want to know why my program won't launch in eclipse. It gives me this error:
launch has encountered a problem
It was running when i used int
. My computer is 64bit. I'm trying to understand hardware. I need to know what I'm doing wrong. What can I improve on? Is it okay to declare buffer as a global variable? Thanks.
My code is here.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * convertBase(unsigned long int numberToConvert, long int base)
{
char buffer[65];
char *pConvertedNumber;
char allValues[] = "0123456789abcdef";
pConvertedNumber = &buffer[sizeof(buffer)-1];
*pConvertedNumber = '\0';
do {
int value = numberToConvert % base;
pConvertedNumber = pConvertedNumber - 1;
*pConvertedNumber = allValues[value];
numberToConvert /= base;
} while(numberToConvert != 0);
printf("%s", pConvertedNumber);
return pConvertedNumber;
}
int main(void){
unsigned long int numberOne = 1000000000;
printf("\n%ld in Base 16 = ", numberOne);
convertBase(numberOne, 16);
printf("\n");
return 0;
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire