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
Códigos binarios progresivos y BCD, movido desde la sección Sistemas de numeración
 
m Clasificación de códigos. Formato de secciones Códigos progresivos y Códigos BCD.
Línea 1:
Existen diversos códigos binarios para la representación de números enteros, con o sin signo.
==Códigos binarios==
 
* Códigos de representación de números naturales (sin signo)
Los códigos binarios son formas de representación de números en binario, siendo el <em>código binario natural</em> explicado en las secciones anteriores uno de ellos. En esta sección se explican estos otros códigos:
** Binario natural. Codifica números naturales en binario puro. Con n bits, se pueden representar 2<sup>n</sup> números, en el rango 0...2<sup>n</sup>-1
 
** Progresivos: Johnson, Gray
* BCD (Decimal Codificado en Binario):
** Ponderados: BCD natural, BCD Aitken
** No ponderados: BCD exceso 3
* Números binarios con signo
** Signo y magnitud
** Negativos en complemento a uno
** Negativos en complemento a dos
 
===Códigos progresivos===
 
Dos combinaciones binarias son <em>adyacentes</em> cuando difieren en un solo bit. Un código binario es <em>continuo</em> cuando las combinaciones binarias de números consecutivos son adyacentes. El código binario natural no es continuo.
 
Un código binario continuo es <em>cíclico</em> si la última combinación es adyacente a la primera.
 
Dos combinaciones binarias son <em>adyacentes</em> cuando difieren en un solo bit. Un código binario es <em>continuo</em> o <em>progresivo</em> cuando las combinaciones binarias de números consecutivos son adyacentes. El código binario natural no es continuo.
Un código binario <em>progresivo</em> es continuo y cíclico.
 
Un código binario continuo es <em>cíclico</em> si la última combinación es adyacente a la primera. Los códigos Gray y Johnson son progresivos y cíclicos.
====Código Gray====
 
Un código <strong>Gray</strong> de n bits se crea a partir del código Gray de n-1 bits. La primera parte del rango se crea anteponiendo 0 al código Gray de n-1 bits. La segunda parte del rango se obtiene copiando el código Gray de n-1 bits en orden inverso y poniendo delante de cada número un 1.
 
Con n bits, el código Gray es capaz de realizar 2<sup>n</sup> combinaciones. La siguiente tabla muestra los códigos Gray dedesde 1 hasta 4 bits:
 
:{| cellspacing="5"
|-
|1 bit || 2 bits || 3 bits || 4 bits || decimal
Línea 59:
|}
 
Con n bits, el código '''Johnson''' es capaz de realizar 2·n combinaciones. La siguiente tabla muestra el código Johnson de 5 bits:
====Código Johnson====
 
:{|
Con n bits, el código Johnson es capaz de realizar 2·n combinaciones.
 
{|
|-
|decimal || align="center"| Johnson 5 bits
|-
|align="center"| 0 || 00000
|-
|align="center"| 1 || 00001
|-
|align="center"| 2 || 00011
|-
|align="center"| 3 || 00111
|-
|align="center"| 4 || 01111
|-
|align="center"| 5 || 11111
|-
|align="center"| 6 || 11110
|-
|align="center"| 7 || 11100
|-
|align="center"| 8 || 11000
|-
|align="center"| 9 || 10000
|}
 
===Códigos BCD===
 
Los códigos BCD codifican cada una de las cifras decimales mediante 4 bits. Pueden ser:
* Ponderados:
** BCD natural: pesos 8 4 2 1
** BCD Aitken: pesos 2 4 2 1. Es un código autocomplementario: seel puedecomplementario calculara ella complementariobases menos uno de un dígito decimal n (¬C<sub>9</sub>N = 9-N) codificadose obtiene directamente en BCD Aitken con sólo invertir los bits.
* No ponderados: BCD exceso 3 (XS3), comienza codificando el cero en decimal con el tres en binario
 
:{|
|-
| decimal -
| BCD natural -
| BCD Aitken -
| XS3
|-
Línea 125 ⟶ 124:
|}
 
{{Ejemplo: 238,7)<sub>10</sub>
|titulo=BCD con parte fraccionaria
|enunciado=Representar en BCD el número decimal 238,7 suponiendo la palabra de 16 bits, siendo 4 bits reservados para la parte fraccionaria.
|sol=
* BCD natural: 0010 0011 1000,0111
* BCD Aitken: 0010 0011 1110,1101
* Exceso 3: 0101 0110 1011,1010
 
Los ceros a la izquierda son representativos porque no es undel número, sinoen unala representaciónparte interna. De existirentera, ely signolos +ceros sea representala 0000,derecha yen ella signoparte -fraccionaria, 0001.son Porrepresentativos tanto,porque 215BCD =no 0000es 0010un 0001sistema 0101.de Haynumeración, dossino tipos deuna representación BCD:interna.
}}
 
De existir, el signo + se representa 0000, y el signo -, 0001. Por ejemplo, el número decimal +215 se representa 0000&nbsp;0010&nbsp;0001&nbsp;0101.
 
Según el número bits empleado para cada dígito decimal, hay dos tipos de representación BCD:
* BCD empaquetado: usa un byte para contener dos dígitos decimales. Ejemplo: 10 = 0001 0000
* BCD desempaquetado: se usa un byte para contener cada dígito decimal. Ejemplo: 10 = 0000 0001 0000 0000