Asuntos Oficiales > Retos

 Bitwise Operations

(1/5) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa