¿De qué sirve encontrar el complemento de uno y dos?

Hacer algo como el complemento de 1 o 2 es una tarea realmente trivial. Se reduce a alternar los bits, lo que se puede hacer extremadamente rápido de una vez con un circuito de hardware muy simple.

Lo bueno de esto es si agregar un número entero normal a un complemento de 1 o 2 de otro lo convierte en una resta. Por lo tanto, no se necesita hardware adicional para hacer una resta, la suma normal se puede usar con solo un circuito de alternancia para convertir uno de los números en un complemento de 1 o 2.

Además, los números negativos simplemente se almacenan en el complemento de 1 o 2. Esto también significa que no hay requisitos adicionales para demostrar que son negativos. Por ejemplo, una forma de fuerza bruta de guardar números negativos es decir que uno de los bits define el signo y luego el resto es el número: digamos el 1er bit = 1 para negativo y 0 para positivo, entonces el resto es solo el número de lo habitual . Si bien esto suena simple, en realidad significa que ahora el cálculo primero tiene que verificar ese bit (es decir, alguna forma de rama si que toma tiempo adicional) y luego enviarlo a través de un sustractor o un sumador dependiendo del valor de la condición.

El uso del complemento de 2 (o 1, aunque se usa con menos frecuencia) significa que la CPU es más barata de construir, aunque es tan rápida (o generalmente más rápida) en todos los casos como lo sería de otro modo.

Unos y dos complementos tienen dos propiedades muy útiles:

  • Puede almacenar uno o dos complementos de un valor en la memoria sin necesidad de indicadores adicionales, etc.
  • si quiere decir do ab, entonces si convierte b en su versión complementaria, llámelo b ‘, puede hacer a + b’ y aún así obtener la respuesta correcta. Como ya tiene un convertidor de complemento de dos en su CPU (para que pueda almacenar números negativos), ahora solo necesita un circuito sumador para sumar y restar.

La aritmética binaria es el núcleo de la arquitectura informática. Puede diseñar ALU en cualquier formato, por lo que es importante comprender sus ventajas y desventajas.

More Interesting

¿Debo dejar de tomar cursos de teoría en Matemáticas / CS teórico, etc.?

Sea m una máquina de turing y sea w una corriente de entrada de m. ¿Cómo puedo definir el tiempo de ejecución tm (w) de m en la entrada w?

Estoy en mi último año como estudiante de ciencias de la computación y me encanta resolver problemas. Siempre trato de resolver los problemas, pero no logro crear soluciones rápidamente. Quiero mejorar para construir una lógica clara. ¿Dónde me estoy equivocando o qué debo hacer?

¿Cuál es el orden de las operaciones para la notación sigma?

¿Cuáles son tus 10 idiomas favoritos?

¿Alguien ha explorado el uso de autómatas celulares 2D en una superficie esférica sintonizada para proyectar un universo 3D dentro que simule la gravedad?

¿P = NP sería algo bueno?

Si no disfruto de las matemáticas / aprender sobre matemáticas, ¿debo abandonar una carrera profesional que implica codificación (programación / desarrollo web / etc.)?

¿Cuáles son las principales estrategias para representar conceptos cualitativos como conceptos cuantitativos?

Criptografía: ¿Qué sucedería si alguien encuentra un algoritmo significativamente más rápido para factorizar enteros grandes?

¿Cuáles son los requisitos previos (matemáticos, de programación, etc.) que uno debe tener para convertirse en ingeniero de control?

Teoría de la complejidad computacional: ¿Hay conjeturas famosas que alguna vez se creyeron firmemente que eran ciertas pero que luego se demostraron falsas?

¿Qué se entiende por inversa modular de un número?

¿Cuál es la intuición detrás de los algoritmos aleatorios y la aleatorización en general?

¿Cuáles son los motivos comunes entre la informática y la teoría de la música?