446 Kibbles `n' Bits `n' Bits `n' Bits
http://acm.uva.es/p/v4/446.htmlEn este, para leer los numeros hexadecimales, en c use scanf("%x",&n);
Para obtener la suma o resta, simplemente sumar o restar los numeros leidos tal cual.
La parte mas compleja es hacer una funcion que pase de decimal a binario.
Podeis usar por ejemplo el de obtener el resto de dividir por 2(hasta que sea 1), y luego invertirlo (ya que tendreis el numero pasado a binario invertido).
Ejemplo de algoritmo para convertir n en binario (En tmp estara "al reves"):
while(n>=1)
{
if(n%2==0)
{
n=n/2;
tmp[npos++]='0';
}
else
{
n=n/2;
tmp[npos++]='1';
}
if(n==1)
{
tmp[npos++]='1';
break;
}
}
Recordar que el numero de digitos binarios ha de ser 13, se deben rellenar con 0s a la izquierda si es menor.