Implementación Hardware
Un número digital se convierte a SD en forma canónica (CSD) observando cadenas de 1s en la representación digital normal (complemento de 2).
Una cadena de 1s puede convertirse a CSD de la siguiente forma:
… 0 0 1 1 1 1 … 1 1 0 0 … --> … 0 1 0 0 0 0 … 0 1 0 0 …
1 1 1 … 1 1 0 0 … --> 0 0 0 … 0 1 0 0 …
Utilizando esta recodificación, podemos modificar la forma de multiplicar. Supongamos que queremos multiplicar A (an-1,…,a0) por B, los pasos a realizar son los siguientes:
- Si ai=0 y ai-1=0, sumar 0 a P
- Si ai=0 y ai-1=1, sumar B a P
- Si ai=1 y ai-1=0, resta B de P
- Si ai=1 y ai-1=1, suma 0 a P