Complemento

Complemento de un número en base índica cuanto le falta al número para llegar a su base. Si , entonces su complemento indica cuanto le falta al número para llegar al número de la base seguido de tantos dígitos como . Es decir, su distancia a siendo los dígitos de

Sumar en Base

Sumo columna a columna partir del siguiente método. Siendo el mayor y el menor.

  1. Tomo el número más grande
  2. Busco su complemento
  3. Si , me llevo a la siguiente columna y lo dejo como resultado
  4. Si no, dejo como resultado simplemente a .

Restar en Base

Para usar una resta, puedo aplicar la siguiente equivalencia para evitar restar

Una vez terminada la suma, desecho el dígito extra

Si el número obtenido no tiene dígito extra, significa que el resultado es negativo. En este caso, el resultado que queremos es el complemento en base del número obtenido. (luego le agrego el signo)

Multiplicación por Múltiplo de Base

Si multiplico el número por . Entonces desplazo los dígitos del número a izquierda o derecha, dependiendo del signo de . Si es positivo, desplazo los dígitos hacia la izquierda.

Si se trata de un número en representación, entonces el primer bit se mantiene igual.

Flags

Los flags se generan siempre luego de una operación, depende de nosotros interpretar los números que se almacenan allí.

  • C - Carry: Cuando una operación devuelve más bits del que podemos almacenar, el bit extra se almacena en el carry. (por defecto un cero)
  • V - Overflow: Indica si ocurrió un overflow en el caso de números con signo.
  • Z - Cero: Indica si el resultado dio cero.
  • N - Negativo: Indica si el resultado dio negativo. Es una copia del primer bit.
  • P - Paridad: Indica si el número tiene una cantidad par de unos.