Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

15.707 Mensajes en 3.130 Temas- por 371 Usuarios - Último usuario: lasfirrot
Mayo 18, 2012, 04:08:03
Foro de Hispabyte.netProgramaciónCompeticiones de programación y algorítmicaACM UVATema: 446 Kibbles `n' Bits `n' Bits `n' Bits
Páginas: [1]   Ir Abajo
Imprimir
Autor Tema: 446 Kibbles `n' Bits `n' Bits `n' Bits  (Leído 1004 veces)
0 Usuarios y 1 Visitante están viendo este tema.
HQH
Administrator
Miembro Imprescindible
*****
Mensajes: 1.813



Ver Perfil
« : Agosto 21, 2006, 01:16:02 »


446  Kibbles `n' Bits `n' Bits `n' Bits
http://acm.uva.es/p/v4/446.html

En 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"):
Código:
    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.
En línea
Páginas: [1]   Ir Arriba
Imprimir
Foro de Hispabyte.netProgramaciónCompeticiones de programación y algorítmicaACM UVATema: 446 Kibbles `n' Bits `n' Bits `n' Bits
Ir a:  


Tema diseñado por RJ-45 para Hispabyte.net basado en el
theme famouspadexx v.09 designed by Formado Comprido
Downloable here. My present to padexx.de