well, first off, if the character buffer is NOT in base 10 you will need to use strtol to convert it.
i.e. if your buffer looks like "10010010011110" you would do
char* buffer[] = "10010010011110";
char* endPtr;
int val = strtol(buffer,endPtr,2); // 2 is the base
if you just want to print the output in hex format, sprintf or CString::Format with a %x will do that for you.
Matt