Quería saber acerca de las ventajas del complemento 1 sobre el complemento 2 en las aplicaciones DSP.
Quería saber acerca de las ventajas del complemento 1 sobre el complemento 2 en las aplicaciones DSP.
En el complemento de 1, el cambio de signo no puede fallar, a diferencia del complemento de 2. Esto imita al punto flotante y elimina un dolor de cabeza (menor) al mover algoritmos de PF con aritmética de punto fijo, algo común con los DSP.
Para ser claro: con el complemento de 1, se mantiene que si x < 0 entonces (- x ) > 0, algo que se cumple para FP pero hace < em> not se mantiene para casi todas las x con el complemento de 2, y se muerde fácilmente cuando se realiza el procesamiento de la señal digital. Los DSP apuntan a la compatibilidad de FP para sus operaciones que no son de FP, y evitar ese caso de esquina tiene algún valor funcional.
También: el cambio de signo en complemento de 1 se reduce a complementar todos los bits; y por lo tanto, como se señaló en el comentario, es endian-neutral. Por el contrario, cambiar el complemento de signo en 2 requiere llevar la propagación de los fragmentos de orden inferior a los de orden superior (byte, word, unamit).
No conozco mejores razones. La mayoría de las otras cosas (incluidas la suma con signo y la multiplicación) son más fáciles con el complemento de 2: en particular, el resultado (excepto los bits de estado) es el mismo que para unsigned. Es por eso que ganó para la parte no FP de la mayoría de los procesadores modernos, que admiten tanto los firmados como los no firmados.
Lea otras preguntas en las etiquetas computer-architecture dsp vlsi