Diferencia entre revisiones de «Diseño de circuitos digitales y tecnología de computadores/Representación interna de números enteros»

Contenido eliminado Contenido añadido
m Corrección errata en tercer ejemplo: en el título, número negativo en lugar de positivo
Creada sección Suma y resta aritméticas
Línea 213:
<br />
 
Para obtener elEl número decimal a partir de su representación interna, se siguenobtiene según las siguientes reglas:
*Cualquiera que sea la representación interna, el signo del número se obtiene directamente observando el bit de más a la izquierda: 1 si es negativo, 0 si es positivo.
*Cualquiera que sea la representación interna, el valor absoluto (magnitud) de un número positivo se obtiene directamente cambiando la base de binario a decimal. El bit de signo, al ser un cero a la izquierda, no influye en el resultado.
Línea 246:
}}
 
 
{{en desarrollo}}
===Suma y resta aritméticas===
 
Para las operaciones de suma y resta en la representación de números enteros en signo y magnitud, se sigue el procedimiento matemático del sistema de numeración binario -véase apartado <em>Suma y resta de números enteros (con signo)<em> en [[Diseño de circuitos digitales y tecnología de computadores/Sistemas de numeración]]-. Este procedimiento matemático requiere decisiones lógicas para determinar el signo del resultado, para determinar si los operandos deben sumarse o restarse y para determinar el orden de los operandos en el caso de tener que realizar una resta. En cambio, en las representaciones en complemento a uno o complemento a dos, el resultado incluyendo el signo se obtiene directamente al sumar los operandos, sin necesidad de operaciones lógicas adicionales.
 
En la representación de negativos en complemento a uno, la suma de dos números, cualesquiera que sean sus signos, se obtiene sumando los operandos y el acarreo resultante.
<br />
 
{{Ejemplo
|titulo=Suma de enteros (representación en complemento a uno)
|enunciado=Realizar la suma -1 + 2 = +1 siendo la representación interna en complemento a uno de 3 bits
|sol=
:110 + 010 = (1)000 = 000 + 1 = 001
}}
<br />
 
En la representación de negativos en complemento a dos, la suma de dos números, cualesquiera que sean sus signos, se obtiene sumando los operandos y despreciando el acarreo resultante.
<br />
 
{{Ejemplo
|titulo=Suma de enteros (representación en complemento a dos)
|enunciado=Realizar la suma -1 + 2 = +1 siendo la representación interna en complemento a dos de 3 bits
|sol=
:111 + 010 = (1)001 = 001
}}
<br />
 
En el caso de la resta, tanto en la representación de negativos en complemento a uno como en la de negativos en complemento a dos, se transforma la resta en una suma del sustraendo con el signo cambiado más el minuendo. El cambio de signo del sustraendo se realiza calculando el complemento a uno o el complemento a dos, respectivamente.
<br />
 
{{Ejemplo
|titulo=Resta de enteros (representación en complemento a uno)
|enunciado=Realizar la resta -1 - (+2) = -3 siendo la representación interna en complemento a uno de 3 bits
|sol=
:110 - Ca1(010) = 110 + 101 = (1)011 = 011 + 1 = 100
}}
 
{{Ejemplo
|titulo=Suma de enteros (representación en complemento a dos)
|enunciado=Realizar la resta -1 - (+2) = -3 siendo la representación interna en complemento a dos de 3 bits
|sol=
:111 - Ca2(010) = 111 + 110 = (1)101 = 101
}}
<br />
 
También hay que tener en cuenta la posibilidad de '''desbordamiento''', es decir, que el resultado esté fuera del rango de valores de la representación interna utilizada. En la representación en signo y magnitud, el desbordamiento es detectado por el acarreo de salida del bit más significativo de la magnitud (no el bit de signo). En las representaciones de negativos en complemento a uno o complemento a dos, el desbordamiento se detecta cuando al sumar dos operandos del mismo signo, el signo del resultado es el contrario del de los operandos.