Demostración de como funciona el complemento A1 y A2 en los números binarios.
Autores: Michel Muñoz, Daniel Cruces, Alejandro Fuentes.
Competencia: Trabajo en equi´po.
Palabras claves: binarios,complemento,a1,a2.
Contextualización y descripción de la actividad
En el curso de programación 2 el segundo semestre tuvimos que hacer un informe donde debíamos demostrar como funcionaban el complemento A1 y A2. Este trabajo lo desarrollamos en conjunto, donde Daniel se encargo de la parte matemática, Alejandro del informe y yo Michel de la utilización del código.
Actividad
Analizar el siguiente código
en C# y comparar con los datos del programa Free Hex Editor Neo.
Luego se debe demostrar
mediante operaciones binarias y de conversión de datos, que los valores
presentes en el archivo char.bin son
equivalentes a los del arraycharData[6].
Para comenzar, el Free Hex Editor Neo es un editor que
descifra o convierte números en binarios y/o hexadecimales por pantalla.
Usa algunos tipos de funciones
llamadas complementos. Estos complementos le permiten llevar a cabo dichas
operaciones.
Hay 2 tipos de complementos:
Complemento a 1 o de bit a bit: Básicamente consiste en que al
tener un número binario, cambia 0 por 1,
y 1 por 0. (Invierte).
Ejemplo:
10 = 10102
=01012
Complemento a 2: Consiste en que sigue un camino semejante al C1,
pero este suma 1 (binario) al bit menos significativo.
Ejemplo:
2 en
decimal = 00102
Invierte =
11012
----------------------------------------------------------------------------------------------
Suma un
1 = 00012
Resultado =
11102
Para llevar a cabo la
demostración del código se tomarán los datos contenidos en el arreglo Data[6] = {10,-15,-125,65,45,-89}; y se compararán con
los mostrados en el editor Free Hex
Editor Neo.
Tenemos que en el editor para
ver los números convertidos hay filas y columnas que poseen una función en específico.
Al lado izquierdo de la pantalla se encuentran números expresados de forma hexadecimal habiendo un
“salto” de 10 entre número y número (de hecho los saltos reales son de 16
octetos c/u). En la parte de superior de la pantalla se encuentra una fila (00,
01, 02, etc.), esta tiene por función obtener la ubicación de cada octeto
dentro de las filas (en total hay 15 octetos en la fila).
Los valores ubicados en la
fila de abajo están expresados en valores hexadecimales.
Para determinar que los datos
del “arreglo” son equivalentes a los entregados por el editor, se deben
realizar las siguientes operaciones:
10(10) = 00001010(2) //se convierte a binario
10(10) = 0000|1010(2)
10(10) = 0|a //se
transforma a hexadecimal
10(10) = 0a(16)
-15(10) = 00001111(2) //se convierte a binario como si fuera positivo
-15(10)
= 11110000(2) //utilizando el complemento 2 se
invierte el número binario y suma 1
-15(10) = 11110001(2)
-15(10) = 1111|0001
-15(10) = f|1 //se
transforma a hexadecimal
-15(10) = f1(16)
-125(10) = 01111101(2) //se convierte en binario como si fuera
positivo
-125(10) = 10000010(2) //utilizando el complemento 2 se invierte
el número binario y suma 1
-125(10) = 10000011(2)
-125(10) =
1000|0011
-125(10) = 8|3 //se transforma a
hexadecimal
-125(10) = 83(16)
65(10) = 01000001(2) //se convierte a binario
65(10) = 0100|0001
65(10) = 4|1 //se
transforma a hexadecimal
65(10) = 41(16)
45(10) = 00101101 (2) //se convierte a binario
45(10) = 0010|1101 //se
transforma a hexadecimal
45(10) = 2|d
45(10) = 2d(16)
-89(10) = 01011001(2) //se convierte en binario como si fuera
positivo
-89(10) = 10100110(2) //utilizando el complemento 2 se
invierte el número binario y suma 1
-89(10) = 1010|0111 //se transforma a hexadecimal
-89(10) = a|7
-89(10) = a7(16)
De esta manera, con c/u de los
números usando los complementos 1 y 2, se pueden comprobar que los valores
mostrados por pantalla son equivalentes al conjunto de números en el arreglo
Data.
Conclusión y reflexión de la actividad
Gracias a la aplicación del complemento 1 y 2 pudimos comprender acerca de como funciona los números negativos binariaos, de que el complemento 1 sirve para sólo representar y que el 2 sirve para representar y calcular. Con mis compañeros dividiéndonos el trabajo llegamos a una demostración efectiva del código entregado por el profesor, osea un desarrollo de la competencia de trabajo en equipo.
Harrah's Cherokee Casino & Hotel - MapYRO
ResponderEliminarFind harrahs cherokee casino & hotel in Cherokee, NC. 경산 출장샵 Harrahs Cherokee 진주 출장안마 Casino & 거제 출장마사지 Hotel. 777 태백 출장안마 Casino Parkway, Cherokee, 안양 출장마사지 North Carolina 28719.