En realidad no recuerdo bien si hay alguna función que permita hacer eso pero si no la hay se puede hacer. (Por lo menos no recuerdo si hay una función en ansi c).
Tienes que crear una función que lo haga, explicarlo aquí es un poco complejo, busca un libro de matemáticas donde vengan conversiones de bases o incluso uno de c/c++, un libro en donde viene como hacerlo es "Como programar en C/C++" de H.P. Deitel (viene en los apéndices). En realidad tu pregunta es más matemática que de programación, sabiéndolo hacer matemáticamete es fácil pasarlo a c.
Ejemplo convertir 3 a binario
3/2=1 el modulo = 1
tomamos el 1 que resulto de la división (no el modulo) y lo dividimos de nuevo entre dos
1/2 = 0 modulo 1
entonces 3 en binario es 11
la primera pósicion del 1 vale 2 elevado a la 0 por 1 es igual a 1 (2^0*1 = 1) mas lo que tienes en la segunda posición 2^1*1 = 2 entonces 2+1 = 3
en realidad son puras divisiones.
Lo mismo para hexadecimal solo que divides entre 16 la bronca aquí es como demonios expresas un hexadecimal si solo hay 10 números hay que representar el 10 como A 11 como B así sucesivamente lo que vas a hacer es crear una variable tipo carácter para guardar el numero para guardar o verificar el numero tendrías que crear un apuntador a esa cadena e ir moviendo el apuntador de posición.
Si comienzas tu programa y tienes más dudas o algo no te sale mandame lo que tengas en c/c++ a
[email protected]