Asuntos Oficiales > Retos
Bitwise Operations
Noel Solw:
Problema a solucionar por medio de operaciones con bits : (&,|,^,~,>>,<<)
Dados dos numeros unsigned int a,b, determinar sin hacer la suma, si existe el peligro de overflow al realizar la operacion a + b.
Se presentan 3 casos :
[a] : la cifra mas significativa de a y b es “0”, pueden sumarse siempre.
: la cifra mas significativa de a y b es “1”, nunca pueden sumarse.
[c] : una de las cifras mas significativa es “1” y la otra “0”, este es el caso interesante y hay que programar una solucion.
Tengo el problema solucionado y si no recibo soluciones hasta el 10/6/2004,
lo publicare en este foro.
Mi intencion es encontrar soluciones diferentes a la que yo escribi.
JuanK:
adecua el formato del reto al formato del foro..
debes incluir un ejemplo de los datos de entrada y datos de salida
si tengo tiempo lo hare el fin de semana.
Noel Solw:
Ejemplos de datos de entrada y salida:
bitwise operations : overflow check for addition of two unsigned int.
a = 30404
b = 40000
sum = 30404 + 40000 = 4868 wrong
a = 65534
b = 1
sum = 65534 + 1 = 65535 ok
a = 65534
b = 2
sum = 65534 + 2 = 0 wrong
a = 0
end of program - good bye ! ! !
Ayudaria hacer impresiones intermedias de los numeros en representacion binaria
La impresion de las sumas es indicativa solamente, no se usan en la resolucion del problema.
The Black Boy:
la verdad sigo sin entender bien que es lo que hay que hacer... :whistling:
Saludos :adios:
JuanK:
debes decir si una suma de enteros propduce o no un desboradmiento, es decir determinar si al sumar los enteros el resultado es un tipo de dato mayor que un entero.
Hay que hacer esto sin usar la suma ('+'), solo usando opercaiones binarias..
esta refacil..
por eso digo que tal ves lo haga el fin de semana.
Navegación
[#] Página Siguiente
Ir a la versión completa