Código Binario

¿QUÉ SIGNIFICA CODIFICACIÓN?

Acción y efecto de expresar un mensaje usando un código.

CODIGOS BINARIOS NUMERICOS

El código binario es el sistema numérico usado para la representación de textos, o procesadores de instrucciones de computadora utilizando el sistema binario (sistema numérico de dos dígitos, o bit: el «0» (cerrado) y el «1» (abierto)).

CARACTERISTICAS

Ponderación

La mayoría de los sistemas de numeración actuales son ponderados es decir, cada posición de una secuencia de dígitos tiene asociado un peso. El sistema binario es, de hecho, un sistema de numeración posicional ponderado

Distancia

La distancia es una característica sólo aplicable a las combinaciones binarias. La distancia entre dos combinaciones es el número de bits que cambian de una a otra. Por ejemplo: si se tienen las combinaciones de cuatro bits 0010 y 0111 correspondientes al 2 y al 7 en binario natural, se dirá que la distancia entre ellas es igual a dos ya que de una a otra cambian dos bits.

Además, con el concepto de distancia se puede definir la distancia mínima de un código. Ésta no es más que la distancia menor que haya entre dos de las combinaciones de ese código.

La distancia es una característica que, además, sólo se aplica a las combinaciones binarias. En resumen, la distancia entre dos combinaciones es el número de bits que cambian de una a otra.

Continuidad

La continuidad es una característica de los códigos binarios que cumplen todas las posibles combinaciones del código que son adyacentes, es decir, que de cualquier combinación del código a la siguiente cambia un sólo bit. En este caso se dice que el código es continuo. Cuando la última combinación del código es, a su vez, adyacente a la primera, se trata de un código cíclico

Autocomplementariedad

Se dice que un código binario es autocomplementario cuando el complemento a 9 del equivalente decimal de cualquier combinación del código puede hallarse invirtiendo los valores de cada uno de los bits (operación lógica unaria de negación) y el resultado sigue siendo una combinación válida en ese código. Esta característica se observa en algunos códigos BCD, como el código Aiken o el código BCD exceso 3. Los códigos autocomplementarios facilitan las operaciones aritméticas.

APLICACIONES

En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera vez en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés, la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales.

En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell, construyó una computadora basada en relés —a la cual apodó «Modelo K» (porque la construyó en una cocina, en inglés «kitchen») que utilizaba la suma binaria para realizar los cálculos. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938, con Stibitz al mando.

El 8 de enero de 1940 terminaron el diseño de una «Calculadora de Números Complejos», la cual era capaz de realizar cálculos con números complejos. En una demostración en la conferencia de la Sociedad Estadounidense de Matemática, el 11 de septiembre de 1940, Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Algunos participantes de la conferencia que presenciaron la demostración fueron John von Neumann, John Mauchly y Norbert Wiener, quien escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzó diferentes logros.

DECIMAL CODIFICADO EN BINARIO (BCD)

En sistemas de computación, Binary-Coded Decimal (BCD) o Decimal codificado en binario es un estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que normalmente se incurre con las conversiones de decimal a binario puro y de binario puro a decimal. La conversión de los números decimales a BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados que con números binarios puros.

Cada dígito decimal tiene una representación binaria codificada con 4 bits:

Decimal:    0     1     2     3     4     5     6     7     8     9

BCD:     0000  0001  0010  0011  0100  0101  0110  0111  1000  1001

Los números decimales, se codifican en BCD con los bits que representan sus dígitos.

Por ejemplo, la codificación en BCD del número decimal 59237 es:

Decimal:    5    9    2    3    7

BCD:     0101 1001 0010 0011 0111

CODIGO GRAY

El código binario reflejado o código Gray, nombrado así en honor del investigador Frank Gray, es un sistema de numeración binario en el que dos valores sucesivos difieren solamente en uno de sus dígitos.

Las computadoras antiguas indicaban posiciones abriendo y cerrando interruptores. Utilizando tres interruptores como entradas usando Base 2, estas dos posiciones estarían una después de la otra:

…011100…

El problema con el código binario en base 2 es que con interruptores mecánicos, es realmente difícil que todos los interruptores cambien al mismo tiempo. En la transición de los dos estados mostrados arriba, tres interruptores cambian de sitio. En el lapso en el que los interruptores están cambiando, se pueden presentar salidas de información espurias. Si las salidas mencionadas alimentan un circuito secuencial, probablemente el sistema presentará un error en entrada de datos.

El código gray resuelve este problema cambiando solamente un dígito a la vez, así que no existe este problema:

Decimal Gray Binario   0     000    000   1     001    001   2     011    010   3     010    011   4     110    100   5     111    101   6     101    110   7     100    111

tienes que tener en cuenta que para convertir de binarios a Gray los valores que deben ser sumados en base 2 toman los siguientes valores 1+1=0, 0+0=0 , 1+0=1 y 0+1=1 esta operación de forma vertical como se muestra en el siguiente ejemplo

1010 101—-1111

Nótese que desde el 7 podría pasar a 0 con un solo cambio de switch (el más significativo pasa a cero). Esta es la propiedad llamada «cíclica» del código de Gray.

Conversiones

Secuencia   Binario Gray Secuencia Binario Gray
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000

Base 2 a Gray

Para convertir un número binario (en Base 2) a código Gray, simplemente se le aplica una operación XOR con el mismo número desplazado un bit a la derecha, sin tener en cuenta el acarreo.

Ejemplo: 1010 (Base 2) a gray

1010 101—-1111

CODIGOS BINARIOS ALFA-NUMERICOS

ASCII

ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estándar Estadounidense para el Intercambio de Información), pronunciado generalmente [áski] o [ásci] o [ásqui], es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII.

El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO-8859-1, que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el español.

ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad define códigos para 32 caracteres no imprimibles, de los cuales la mayoría son caracteres de control que tienen efecto sobre cómo se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio).

Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto como el teclado. No deben confundirse los códigos ALT+número de teclado con los códigos ASCII.

Historia

La carta de Código ASCII 1968 de los EE.UU. fue estructurada con dos columnas de caracteres de control, una columna con caracteres especiales, una columna con números, y cuatro columnas de letras

El código ASCII se desarrolló en el ámbito de la telegrafía y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de Bell. Bell había planeado usar un código de seis bits, derivado de Fieldata, que añadía puntuación y letras minúsculas al más antiguo código de teleimpresiónBaudot, pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense (ASA), que había empezado a desarrollar el código ASCII. Baudot ayudó en la automatización del envío y recepción de mensajes telegráficos, y tomó muchas características del código Morse; sin embargo, a diferencia del código Morse, Baudot usó códigos de longitud constante. Comparado con los primeros códigos telegráficos, el código propuesto por Bell y ASA resultó en una reorganización más conveniente para ordenar listas (especialmente porque estaba ordenado alfabéticamente) y añadió características como la ‘secuencia de escape‘. La Agencia de Estándares Estadounidense (ASA), que se convertiría más tarde en el Instituto Nacional Estadounidense de Estándares (ANSI), publicó por primera vez el código ASCII en 1963. El ASCII publicado en 1963 tenía una flecha apuntando hacia arriba (↑) en lugar del circunflejo (^) y una flecha apuntando hacia la izquierda en lugar del guión bajo (_). La versión de 1967 añadió las letras minúsculas, cambió los nombres de algunos códigos de control y cambió de lugar los dos códigos de control ACK y ESC de la zona de letras minúsculas a la zona de códigos de control. ASCII fue actualizado en consecuencia y publicado como ANSI X3.4-1968, ANSI X3.4-1977, y finalmente ANSI X3.4-1986.

CÓDIGOS BINARIOS DE ERROR

La comunicación entre varias computadoras produce continuamente un movimiento de datos, generalmente por canales no diseñados para este propósito (línea telefónica), y que introducen un ruido externo que produce errores en la transmisión.

Por lo tanto, debemos asegurarnos que si dicho movimiento causa errores, éstos puedan ser detectados. El método para detectar y corregir errores es incluir en los bloques de datos transmitidos bits adicionales denominados redundancia.

Se han desarrollado dos estrategias básicas para manejar los errores:

Incluir suficiente información redundante en cada bloque de datos para que se puedan detectar y corregir los bits erróneos. Se utilizan códigos de corrección de errores.

Incluir sólo la información redundante necesaria en cada bloque de datos para detectar los errores. En este caso el número de bits de redundancia es menor. Se utilizan códigos de detección de errores.

Si consideramos un bloque de datos formado por m bits de datos y r de redundancia, la longitud final del bloque será n, donde n = m + r.

Paridad simple (paridad horizontal)

Consiste en añadir un bit de más a la cadena que queremos enviar, y que nos indicará si el número de unos (bits puestos a 1) es par o es impar. Si es par incluiremos este bit con el valor = 0, y si no es así, lo incluiremos con valor = 1.

Ejemplo de generación de un bit de paridad simple: Queremos enviar la cadena “1110100”:1º Contamos la cantidad de unos que hay: 4 unos2º El número de unos es par por tanto añadimos un bit con valor = 03º La cadena enviada es 11101000

El receptor ahora, repite la operación de contar la cantidad de “unos” que hay (menos el último bit) y si coincide, es que no ha habido error.

Problemas de este método:

Hay una alta probabilidad de que se cuelen casos en los que ha habido error, y que el error no sea detectado, como ocurre si se cambian dos números en la transmisión en vez de uno.

CRC

La verificación por redundancia cíclica1 (CRC) es un código de detección de errores usado frecuentemente en redes digitales y en dispositivos de almacenamiento para detectar cambios accidentales en los datos.1 Los bloques de datos ingresados en estos sistemas contiene un valor de verificación adjunto, basado en el residuo de una división de polinomios; el cálculo es repetido, y la acción de corrección puede tomarse en contra de los datos presuntamente corruptos en caso de que el valor de verificación no concuerde; por lo tanto se puede afirmar que este código es un tipo de función que recibe un flujo de datos de cualquier longitud como entrada y devuelve un valor de longitud fija como salida. El término suele ser usado para designar tanto a la función como a su resultado. Pueden ser usadas como suma de verificación para detectar la alteración de datos durante su transmisión o almacenamiento. Las CRC son populares porque su implementación en hardware binario es simple, son fáciles de analizar matemáticamente y son particularmente efectivas para detectar errores ocasionados por ruido en los canales de transmisión. La CRC fue inventada y propuesta por W. Wesley Peterson en un artículo publicado en 1961.

El CRC es un código de detección de error cuyo cálculo es una larga división de computación en el que se descarta el cociente y el resto se convierte en el resultado, con la importante diferencia de que la aritmética que usamos conforma que el cálculo utilizado es el arrastre de un campo, en este caso los bits. El tamaño del resto es siempre menor que la longitud del divisor, que, por lo tanto, determina el tamaño del resultado. La definición de un CRC especifica el divisor que se utilizará, entre otras cosas. Aunque un CRC se puede construir utilizando cualquier tipo de regla finita, todos los CRC de uso común emplean una base finita binaria, esta base consta de dos elementos, generalmente el 0 y 1. El resto de este artículo se centrará en este tipo de composición, es decir el ámbito binario y los principios generales de los CRC.

Cálculo de CRC

La mecánica de la informática con su lenguaje binario produce unas CRC simples. Los bits representados de entrada son alineados en una fila, y el (n + 1) representa el patrón de bits del divisor CRC (llamado polinomio) se coloca debajo de la parte izquierda del final de la fila. Aquí está la primera de ellas para el cálculo de 3 bits de CRC:

11010011101100 <— entrada1011           <— divisor (4 bits) ————– 01100011101100 <— resultado

Si la entrada que está por encima del extremo izquierdo del divisor es 0, no se hace nada y se pasa el divisor a la derecha de uno en uno. Si la entrada que está por encima de la izquierda del divisor es 1, el divisor es Or exclusiva en la entrada (en otras palabras, por encima de la entrada de cada bit el primer bit conmuta con el divisor). El divisor es entonces desplazado hacia la derecha, y el proceso se repite hasta que el divisor llega a la derecha, en la parte final de la fila de entrada. Aquí está el último cálculo:

00000000001110 <— resultado de la multiplicación de cálculo           1011 <— divisor ————– 00000000000101 <— resto (3 bits)

Desde la izquierda se divide por cero todos los bits de entrada, cuando este proceso termina el único bits en la fila de entrada que puede ser distinto de cero es n bits más a la derecha, en la parte final de la fila. Estos n bits son el resto de la división, y será también el valor de la función CRC (es el CRC escogido a menos que la especificación de algún proceso posterior lo cambie).

MATRICES HAMMING

En teoría de la codificación, un código lineal es un código de corrección de errores para los que cualquier combinación lineal de palabras de código es también una palabra de código. Los códigos lineales son tradicionalmente divididos en bloques de códigos y códigos convolucionales, aunque los códigos turbos pueden ser vistos como un híbrido de estos dos tipos. Los códigos lineales permiten la codificación más eficiente y algoritmos de decodificación que otros códigos (cf. síndrome de decodificación).

Los códigos lineales se utilizan en la corrección de errores hacia adelante y se aplican en los métodos de transmisión de símbolos (por ejemplo, los bits) en un canal de comunicaciones, de manera que, si se producen errores en la comunicación, algunos errores pueden ser corregidos o detectados por el receptor de un bloque de mensaje. Las palabras de código en un código de bloque lineal son bloques de símbolos que son codificados usando más símbolos que el valor original para ser enviadas. Un código lineal de longitud n transmite bloques que contienen n símbolos. Por ejemplo, la [7, 4,3] código de Hamming es un código binario lineal que representa los mensajes de 4-bits utilizando palabras de código de 7-bits. Dos palabras de código distintas difieren en por lo menos tres bits. Como consecuencia de ello, hasta dos errores por palabra de código pueden ser detectados y un solo error puede ser corregido. Este código contiene 24=16 palabras de código.

Como la primera clase de códigos lineales desarrollados para el propósito de corrección de errores, los códigos de Hamming han sido ampliamente utilizados en los sistemas de comunicación digitales. Para cualquier entero positivo  , existe un   código de Hamming. Desde  , el código Hamming puede corregir errores de 1-bit.

Ejemplo: El código de bloque lineal con la siguiente matriz de generación y la matriz de comprobación de paridad es un   código de Hamming.

:

COMPLEMENTO EN BASE BINARIA “R” Y “R-1”

Hay dos tipos de complementos para cada sistema de base r: el complemento a la base y el complemento a la base disminuida.

  • Al primero se denomina complemento a r
  • Al segundo se denomina complemento a (r – 1 )

Si sustituimos el valor de la base r en estos nombres, los dos tipos son el complemento a dos y el complemento a uno, en el caso de los números binarios, y el comportamiento a diez y el complemento a nueve en el caso de los números decimales.

Complemento a la Base

El complemento a r de un número N de n dígitos en  base a r se define como rn – N, para N no igual a 0, y 0 para N = 0. Si comparamos con el complemento a (r – 1 ), veremos que el complemento a r se obtiene sumando 1 al componente a ( r – 1 ), ya que rn – N =[ (rn – 1 ) -N ] + 1. Así pues, el complemento   a 10 del complemento del número decimal 2389 es 7610 + 1  = 7611,y se obtiene sumando 1 al valor del complemento a nueve. El complemento a dos  del número binario 101100 es 010011 + 1 = 010100, y se obtiene sumando 1 al valor del complemento a uno.

Puesto que 10n es un número que se representa con un uno seguido de n ceros, 10n – N, que es el complemento a 10 de N, también puede formarse dejando como están todos los ceros menos significativos, restando a 10 el primer dígito menos significativo distinto de cero, y restando a 9 los demás dígitos a la izquierda.

El complemento a 10 de 012398 es 987602

El complemento a 10 de 246700 es 753300

El complemento a 10 del primer número que se representa con un uno seguido de n ceros, 10n – N, que significa y restando a 9 todos los demás dígitos. El complemento a 10 del segundo número se obtiene dejando como están los dos ceros de la derecha, restando 7 a 10 y restando 9 los otros tres dígitos.

De forma similar, el complemento a dos se forma dejando como están todos los ceros menos significativos y el primer uno, y sustituyendo los unos por ceros y los ceros por unos en las demás posiciones a la izquierda.

El complemento a dos de 1101100 es 0010100

El complemento a dos de 0110111 es 1001001

El complemento a dos del primer número se obtiene dejando como están los dos ceros menos significativos y el primer uno, y sustituyendo después los unos por ceros y los ceros por unos en las cuatro posiciones más significativas. El complemento a dos del segundo número se obtiene dejando como está el uno menos significativo y complementando todos los demás dígitos a la izquierda.

Si el número N original lleva punto, deberá quitarse temporalmente para formar el complemento a r o a (r – 1 ), y volver a colocarlo después en el número completado en la misma posición relativa.

El complemento a r de N es rn – N. El complemento del complemento es rn – (rn – N ) = N, o sea, el número original.

Complemento a uno

El complemento a uno de un número binario es una operación matemática muy importante en el campo de la computación, ya que nos permite obtener la representación binaria de números negativos. Se obtiene al cambiar cada uno de los dígitos del número binario N por su complementario, esto es, cambiar los unos por ceros y los ceros por unos.

Por ejemplo:

Número binario =

Complemento a uno =

Podemos referirnos al complemento a uno como la función complemento a uno  , que también se puede definir como el complemento a dos menos una unidad, es decir  . Es trivial a partir de la definición anterior, que el complemento a dos se puede definir como .

Por ejemplo, vamos a calcular el complemento a 1 del número   que, expresado en binario   tiene 6 dígitos:

; ;

su complemento a dos es:   y, su complemento a uno es una unidad menor:

010011                               -000001                               ——-                                010010

Existe una desventaja a la hora de utilizar el complemento a uno para representar números negativos que hace más adecuado el complemento, y es que existen dos posibles representaciones para el número cero.

Complemento a uno Decimal
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
0000 0
1111 0
1110 −1
1101 -2
1100 −3
1011 −4
1010 −5
1001 −6
1000 −7

Complemento a uno con enteros de 4 bits

Complemento a dos

Complemento a dos con enteros de 4 bits

El complemento a dos de un número N que, expresado en el sistema binario está compuesto por n dígitos, se define como:

.

El total de números positivos será   y el de negativos  , siendo n el número máximo de bits. El 0 contaría aparte.

Veamos un ejemplo: tomemos el número   que, cuando se expresa en binario es  , con 6 dígitos, y calculemos su complemento a dos:

, ;  y, por lo tanto:

Puede parecer farragoso, pero es muy fácil obtener el complemento a dos de un número a partir de su complemento a uno, porque el complemento a dos de un número binario es una unidad mayor que su complemento a uno, es decir:

Cabe señalar que en este ejemplo se ha limitado el número de bits a 6, por lo que no sería posible distinguir entre el -45 y el 19 (el 19 en binario es 10011). En realidad, un número en complemento a dos se expresa con una cantidad arbitraria de unos a la izquierda, de la misma manera que un número binario positivo se expresa con una cantidad arbitraria de ceros. Así, el -45, expresado en complemento a dos usando 8 bits sería 11010011, mientras que el 19 sería 00010011; y expresados en 16 bits serían 1111111111010011 y 0000000000010011 respectivamente. Se presenta la tabla de verdad del complemento a 2 para cuatro dígitos.

Cálculo del complemento a dos

El cálculo del complemento a dos es muy sencillo y muy fácil de realizar mediante puertas lógicas, donde reside su utilidad.

Para comenzar los números positivos se quedarán igual en su representación binaria. Los números negativos deberemos invertir el valor de cada una de sus cifras, es decir realizar el complemento a uno, y sumarle 1 al número obtenido. Podemos observar esto en la tabla de ejemplo.

Cabe recordar que debido a la utilización de un bit para representar el signo, el rango de valores será diferente al de una representación binaria habitual; el rango de valores decimales para «n» bits será:

Conversión Rápida

Una forma de hallar el opuesto de un número binario positivo en complemento a dos es comenzar por la derecha (el dígito menos significativo), copiando el número original (de derecha a izquierda) hasta encontrar el primer 1, después de haber copiado el 1, se niegan (complementan) los dígitos restantes (es decir, copia un 0 si aparece un 1, o un 1 si aparece un 0). Este método es mucho más rápido para las personas, pues no utiliza el complemento a uno en su conversión.1

Por ejemplo, el complemento a dos de «0011 11010» es «1100 00110»-

Otra forma es negar todos los dígitos (se halla el complemento a 1) y después sumar un 1 al resultado, viene a ser lo mismo que lo anteriormente explicado.

100001 —> 011110 –> 011111

Es equivalente negar todos los dígitos haciendo XOR contra un número con la misma cantidad de dígitos binarios pero lleno de 1s y sumar 1 al resultado. En la práctica podría explicarse como:

100001 XOR 111111 = 011110

Agregando 1 = 011111

Para implementarlo en una rutina escrita en el lenguaje de programación C, asumiendo que ‘x’ es la cantidad a la que se le calculará el complemento a 2, ‘n’ el número máximo de bits de las cantidades representadas y ‘y’ es la variable en donde se almacenará el resultado. El cálculo podría escribirse como:

y=((x^^(2^n-1)++))&&(2^n-1);

Si ‘n’ no va a cambiar a lo largo del programa, puede sustituirse como una constante y con ello acelerar el cálculo y disminuir los recursos de cómputo consumidos. Por ejemplo, si todos los cálculos son en 8 bits, la rutina anterior podría simplificarse a:

y=((x^^0xFF)++)&&0xFF;

Aplicaciones

Su utilidad principal se encuentra en las operaciones matemáticas con números binarios. En particular, la resta de números binarios se facilita enormemente utilizando el complemento a dos: la resta de dos números binarios puede obtenerse sumando al minuendo el complemento a dos del sustraendo. Se utiliza porque la unidad aritmético-lógica no resta números binarios, suma binarios negativos, por eso esta conversión al negativo.

complemento a dos Decimal
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
0000 0
1111 −1
1110 −2
1101 −3
1100 −4
1011 −5
1010 −6
1001 −7
1000 −8

Complemento a dos con enteros de 4 bits

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.