Código directo

El código directo  es una forma de representar números binarios de punto fijo en la aritmética informática . Se utiliza principalmente para escribir números no negativos . En el caso de utilizar un código directo para números, tanto positivos como negativos, es decir, números cuya escritura implica la posibilidad de utilizar un signo menos (números con signo), los bits digitales almacenados del número se complementan con un bit de signo .

En la literatura inglesa, se llama método de signos y magnitudes .

Representación de números con signo en código directo

Al escribir un número en un código directo, el bit más significativo (bit más significativo) se declara un bit de signo (bit de signo). Si el bit de signo es 0, el número es positivo ; de lo contrario, es negativo . En los dígitos restantes (que se llaman dígitos digitales ), se escribe la representación binaria del módulo del número.

La función de codificación para números binarios (incluyendo enteros y fracciones mixtas) en un código directo es:

donde  es el número del bit de signo (sign bit). En particular, al codificar fracciones binarias propias (es decir, números que satisfacen la desigualdad ), y la función de codificación toma la forma:

El valor del número en el código directo se determina mediante la siguiente fórmula:

dónde:

Como se puede ver en la última fórmula, el bit de signo en el código directo no tiene un peso de bit. Al realizar operaciones aritméticas, esto conduce a la necesidad de un procesamiento separado del bit de signo en el código directo.

Ejemplos

Número decimal número binario Código binario directo de 8 bits Nota
0 0 0000 0000 cero positivo
-0 -0 1000 0000 cero negativo
5 101 0000 0101
diez 1010 0000 1010
-5 -101 1000 0101
-dieciséis -10000 1001 0000
9/16 0.1001 0.100 1000
-9/16 -0.1001 1.100 1000
105/128 0.1101001 0.110 1001
-5/128 -0.0000101 1.000 0101

Aplicaciones de código directo

En informática, el código directo se utiliza principalmente para escribir números enteros no negativos. Se obtiene fácilmente a partir de la representación de un número entero en cualquier otro sistema numérico . Para hacer esto, es suficiente convertir el número al sistema numérico binario y luego completar los dígitos libres de la cuadrícula de bits de la máquina con ceros.

Sin embargo, cuando se usa para números con signo, el código directo tiene dos inconvenientes.

Realizar operaciones aritméticas con números en un código directo es difícil: por ejemplo, incluso para sumar números con diferentes signos, se requiere, además del sumador , tener un bloque especial " restador ", cuya complejidad de implementación es la misma como la de un sumador convencional . Además, al realizar operaciones aritméticas, el bit de signo necesita un tratamiento especial, ya que no tiene peso. También requiere procesamiento de "cero negativo". Por lo tanto, realizar operaciones aritméticas en números con signo en código directo requerirá una arquitectura de CPU más compleja y generalmente es ineficiente.

Mucho más conveniente para realizar operaciones aritméticas es el código complemento a dos .

Rango

El código directo de bits ( bits digitales y un signo) le permite representar números enteros en el rango .

El código directo de bits ( bits digitales y un signo) le permite representar fracciones binarias adecuadas en el rango .

Véase también

Notas

Literatura