Herramientas de usuario

Herramientas del sitio


repinfo_operaciones

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
repinfo_operaciones [2020/03/27 19:15] marianorepinfo_operaciones [2020/03/27 19:45] (actual) mariano
Línea 2: Línea 2:
  
 ==== Suma C1 ===== ==== Suma C1 =====
-La suma es simple, la hacemos como binario puro. En el siguiente ejemplo debemos sumar en **C<sub>1</sub>** 5 bits, por ejemplo 7-5<sub>10</sub>. 7 es positivo asi que en C<sub>1</sub> queda exactamente igual que en SM, **00111**. Ahora en vez de restar podemos hacer lo siguiente 7+(-5) que es equivalente y tiene que dar el mismo resultado. Pasemos entonces -5 a C<sub>1</sub>+La suma es simple, la hacemos como binario puro. En el siguiente ejemplo debemos sumar en **C<sub>1</sub>** 5 bits, por ejemplo 7-5<sub>10</sub>. 7 es positivo asi que en C<sub>1</sub> queda exactamente igual que en SM, **00111**. Ahora bien, en una computadora no se resuelve una resta sino que se cambia el segundo valor a negativo para poder  hacer una suma. Entonces queda 7+(-5) que es equivalente y tiene que dar el mismo resultado. Pasemos entonces -5 a C<sub>1</sub>
  
 {{ :complemento1g.png?250 |}} {{ :complemento1g.png?250 |}}
 \\ \\
-Y hacemos la suma ''(¡ojo!)'' Estamos trabajando en 5 bits, el resultado debe dar en 5 bits+Y hacemos la suma ''(¡ojo!)'' Estamos trabajando en 5 bits, el resultado debe dar en 5 bits. Vamos a resolver la suma tomando todos los bits, es decir el signo también se debe sumar.
 {{ :conejolupa.png?150|}} {{ :conejolupa.png?150|}}
 \\ \\
Línea 16: Línea 16:
 {{ :c1c1ops.png?300 |}} {{ :c1c1ops.png?300 |}}
  
-El resultado es ''00010'', el bit 4 tiene el valor 0, quiere decir que es positivo, entonces para pasarlo de complemento a 1 a SM, queda exactamente igual:+El resultado es ''00010'', el bit 4 tiene el valor 0, quiere decir que es positivo, entonces resolvimos la suma en C1, pero al ser positivo, la representación es la misma para SM, y podemos decir directamente cuanto vale:
  
 00010 C<sub>1</sub> ---> 2<sub>(10)</sub> 00010 C<sub>1</sub> ---> 2<sub>(10)</sub>
Línea 25: Línea 25:
 ==== Suma C2 ===== ==== Suma C2 =====
  
-La operación suma en complemento a 2 es muy similar a complemento a 1, pero veamos algunos detalles a tener en cuenta con ejemplos. Hagamos la operación **-40-35**<sub>(10)</sub> en C<sub>2</sub>+La operación suma en complemento a 2 es muy similar a complemento a 1, pero veamos algunos detalles a tener en cuenta con ejemplos. Hagamos la operación **-40-35**<sub>(10)</sub> en C<sub>2</sub>, en este caso ambos números son negativos y el resultado debe quedar negativo
  
 **Paso 0)** Pasamos ambos números a C<sub>2</sub> **Paso 0)** Pasamos ambos números a C<sub>2</sub>
Línea 34: Línea 34:
 {{ :complemento2sumab.png?300 |}} {{ :complemento2sumab.png?300 |}}
  
-**Paso 1)** Bien, ahora que tenemos ambos números en C<sub>2</sub>, hacemos la suma.+**Paso 1)** Bien, ahora que tenemos ambos números en C<sub>2</sub>, hacemos la suma. Al igual que en C1 el bit de signo también debe sumarse.
  
 {{ :complemento2sumac.png?400 |}} {{ :complemento2sumac.png?400 |}}
  
-Y que sucede con el acarreo, en C<sub>2</sub> cuando el bit más significativo produce acarreo a diferencia de C<sub>1</sub>, este se pierde.+Y que sucede con el acarreo, en C<sub>2</sub> cuando el bit más significativo produce acarreo a diferencia de C<sub>1</sub>, este se descarta. Notemos que el resultado obtenido es un valor negativo. No podemos darnos cuenta a a primera vista cual fue el resultado obtenido (el valor).
  
 ¿Cómo podemos corroborar que el resultado está bien? **¡Aplicando C<sub>2</sub> nuevamente!** ¿Cómo podemos corroborar que el resultado está bien? **¡Aplicando C<sub>2</sub> nuevamente!**
  
-{{ :complemento2sumad.png?400 |}} {{ :conejook2.png?100|}}+{{:complemento2sumad.png?400|}} {{ :conejook2.png?150|}} 
 + 
 + 
 + 
 +---- 
 + 
 +**Overflow o desbordamiento:** Se produce un desbordamiento de enteros cuando una operación aritmética intenta crear un valor numérico que está fuera del rango que puede representarse con un número dado de dígitos, ya sea mayor que el máximo o menor que el mínimo valor representable.  
 + 
 +Reglas para detectar el desbordamiento en la suma del complemento a dos:{{ :conejonodoymas.png?150|}} 
 + 
 +  * Si la suma de dos números positivos produce un resultado negativo, overflow. 
 +      
 +  * Si la suma de dos números negativos arroja un resultado positivo, overflow. 
 +      
 +  * De lo contrario, la suma no se ha desbordado. 
 +      
 + 
 +''Otra forma de detectarlo:'' Se puede detectar si hay desbordamiento si el acarreo que recibe el bit de signo es distinto que el acarreo que produce. 
 + 
 + 
 +     ¿Qué pasa si sumamos 127+1  en C2 8 bits? 
 +     01111111 + 00000001 = 127 + 1 ?
  
  
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

repinfo_operaciones.1585336541.txt.gz · Última modificación: 2020/03/27 19:15 (editor externo)