Como sumar dos numeros de 64 bits en una arquitectura de 16
-
Alguién me puede tirar una punta .. ?
la idea que yo pense es la siguiiente :
|___| |___| |___| |___|
+
|___| |___| |___| |___|
------------------------------------
La idea es sumar cada bloque de 16 por separado, pero no se como moverme entre bloque y bloque ...
Espero haber sido claro, gracias . -
en la arquitectura ia32, cuando sumas te setea un flag de carry... si te lo setea, le sumas 1 al bloque siguiente... si estas en otra arquitectura, tenes que detectar el carry a mano. si tu arquitectura tiene numeros con wrap around (es decir que suma y saca modulo 2^16) y estas trabajando con numeros positivos nomas, entonces podes sumar los 2 numeros, y comparar el resultado de la suma contra cualquiera de los numeros, si el resultado es mas chico, entonces hubo carry... si no no...
es decir carry <=> a + b < a && a + b < b (solo necesitar checkear 1, por que pasan las 2)
