# ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

ÌNDICE GENERAL
OTROS TIPOS DE LÒGICA

DEFINICIONES: ________________________________________________________________ - 1 -
ASIC ________________________________________________________________________ - 1 -
VHDL _______________________________________________________________________ - 4 -
AHDL _______________________________________________________________________ - 7 -
VERILOG ____________________________________________________________________ - 7 -
CPLD__________________________________________________________________________- 9 -

FPGA_________________________________________________________________________ - 10 -

INTRODUCCIÓN ________________________________________________________________ - 8 -
Historia de la logica binaria ______________________________________________________ - 10 -
LÓGICA BINARIA ______________________________________________________________ - 14 -
Operaciones lógicas ____________________________________________________________ - 15 -
Universalidad de la compuerta NOR _______________________________________________ - 20 -
Circuitos logicos integrados ______________________________________________________ - 27 -
Familias lógicas _______________________________________________________________ - 37 -
Funciones y tablas de verdad _____________________________________________________ - 47 -
Aplicaciones: _________________________________________________________________ - 61 -
LÓGICA TERNARIA ____________________________________________________________ - 80 -
Los operadores ternarios ________________________________________________________ - 82 -
Circuitos lógicos ternarios cmos___________________________________________________ - 89 -
Aplicaciones: _________________________________________________________________ - 93 -
LÓGICA DIFUSA _______________________________________________________________ - 97 -
¿Que es la logica difusa? ________________________________________________________ - 98 -
Las etiquetas lingüísticas y operadores: ____________________________________________ - 112 -
Operaciones entre conjuntos difusos ______________________________________________ - 115 -
Operadores composicionales ____________________________________________________ - 132 -
Aplicaciones _________________________________________________________________ - 142 -
SISTEMAS DE NUMERACIÒN
Definición___________________________________________________________________ - 158 -
CONVERSIÓN DE BASES ______________________________________________________ - 162 -
Códigos binarios sin peso _______________________________________________________ - 171 -
Ejercicios sobre cambios de sistemas. _____________________________________________ - 171 -
ARITMETICA BINARIA _______________________________________________________ - 183 -
Operaciones elementales con números binarios ______________________________________ - 185 -
REPRESENTACION DE VALORES EN COMPLEMENTO ____________________________ - 194 -
Suma y resta en complemento A-1 ________________________________________________ - 197 -
Suma y resta en complemento A-2 ________________________________________________ - 200 -
Sumadores y restadores de n bits _________________________________________________ - 213 -
OTROS CODIGOS BINARIOS __________________________________________________ - 219 -
Codigo binario bcd ____________________________________________________________ - 219 -

Sergio E. Ávila P. -0-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Codigo binario gray ___________________________________________________________ - 225 -
Codigo binario offset __________________________________________________________ - 230 -
CODIGOS ALFANUMERICOS __________________________________________________ - 244 -
Codigo ebcdic________________________________________________________________ - 246 -
El codigo baudot/murray _______________________________________________________ - 249 -
Codigo ascci _________________________________________________________________ - 250 -
Los caracteres de control ASCII __________________________________________________ - 259 -
MÉTODO DE SIMPLIFICACIÓN TABULAR QUINE MCCLUSEY _____________________ - 268 -
Implicación__________________________________________________________________ - 270 -
Seleccion de implicantes primos. _________________________________________________ - 274 -
Método de Quine-Mccluskey ____________________________________________________ - 278 -
BIBLIOGRAFÍA

Sergio E. Ávila P. -1-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

OTROS TIPOS DE LOGICA

DEFINICIONES:

ASIC
Un Circuito Integrado para Aplicaciones Específicas (o ASIC, por sus siglas en inglés) es un circuito
integrado hecho a la medida para un uso en particular, en vez de ser concebido para propósitos de uso general.
Se usan para una función especifica. Por ejemplo, un chip diseñado únicamente para ser usado en un teléfono
móvil es un ASIC. Por otro lado, los circuitos integrados de la serie 7400 son circuitos lógicos
(combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. En un lugar
intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para
Aplicaciones Específicas, o ASSP por sus siglas en inglés.
Con los avances en la miniaturización y en las herramientas de diseño, la complejidad máxima, y por ende la
funcionalidad, en un ASIC ha crecido desde 5.000 puertas lógicas a más de 100 millones. Los ASIC modernos
a menudo incluyen procesadores de 32-bit, bloques dememoria RAM, ROM, EEPROM y Flash, así como
otros tipos de módulos. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip, o SoC, por sus
siglas en inglés. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL), tales
como Verilog o VHDL, para describir la funcionalidad de estos dispositivos.
Las FPGA (Field Programmable Gate Arrays, matriz de puertas programables) son la versión moderna de los
prototipos con puertas lógicas de la serie 7400. Contienen bloques de lógica programable e interconexiones
programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Para los diseños
más pequeños o con volúmenes de producción más bajos, las FPGAs pueden tener un costo menor que un
diseño equivalente basado en ASIC, debido a que el costo fijo (el costo para preparar una línea de producción
para que fabrique un ASIC en particular), es muy alto, especialmente en las tecnologías más densas, más de
un millón de dólares para una tecnología de 90nm o menor.
Historia

Los primeros ASIC utilizaban tecnología de matriz de puertas. Ferranti fabricó tal vez la primera matriz de
puertas, la ULA (Uncommitted Logic Array o Matriz lógica no fija), alrededor de 1980. El diseño a la medida
se realizaba al variar la máscara de interconexión metálica. Las ULAs tenían complejidades de hasta algunos
miles de puertas. Las versiones posteriores fueron más generalizadas, con moldes base configurados tanto por
las capas metálicas como polisiliconicas. Algunos moldes base incluían elementos de RAM.

Diseño basado en celdas estándares (standard cell)

A mediados de 1980, un diseñador elegía a un fabricante de ASIC, y luego implementaba el diseño utilizando
las herramientas provistas por ese fabricante en particular. A pesar de que existían herramientas de diseño
provista por terceros, no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes.
Una solución a este problema, que además permitió aumentar la densidad de los ASIC, fue la implementación
de Celdas Estándares. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas
conocidas, tales como los tiempos de propagación, capacitancias e inductancias, que podían ser representadas
en las herramientas desarrolladas por terceros. El diseño basado en Celdas Estándares es el uso de estos
bloques funcionales para alcanzar densidades de puertas muy altas, y un buen desempeño eléctrico. Este tipo
de diseño se ubica entre diseño de Matriz de Puertas, y el diseño hecho totalmente a la medida, en término de
los costos fijos y de fabricación de cada unidad.
Hacia finales de 1980, estuvieron disponibles las herramientas de síntesis lógica, tales como el Design
Compiler. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas.
Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. Este tipo de diseño
contempla las siguientes etapas conceptuales, aunque en la práctica estas etapas se traslapan
significativamente.
Estos pasos, llevados a cabo con el nivel de habilidad común en la industria, casi siempre producen un
dispositivo final que implementa correctamente el diseño original, a menos que se introduzcan fallas al nivel
físico de fabricación.

1. Un equipo de ingenieros de diseño comienza con la compresión no formal de las funciones requeridas
por el ASIC a diseñar, usualmente derivada del análisis de requerimientos.

Sergio E. Ávila P. -1-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

2. El equipo de diseño construye una descripción del ASIC para alcanzar estos objetivos, utilizando un
HDL. Este proceso es similar a escribir un programa computacional en un lenguaje de alto nivel. Este
usualmente es llamado el diseño RTL (Register Transfer Level).
3. La validez del diseño es verificada a través de una simulación. Un sistema virtual, implementado a
nivel de software puede simular el desempeño de los ASIC a velocidades equivalentes de mil
millones de instrucciones por segundo.
4. Una herramienta de síntesis lógica convierte el diseño RTL en un gran conjunto de elementos de bajo
nivel, llamados Celdas Estándares. Estos elementos son tomados desde una biblioteca, que consiste
en una colección de puertas precaracterizadas (tales como NOR de 2 entradas, NAND de 2 entradas,
inversores, etc.). Las celdas estándares usualmente son específicas para el fabricante del ASIC. El
conjunto resultante de Celdas Estándares, junto a la interconexión de ellas, es llamado la lista de
nodos a nivel de puertas.
5. La lista de nodos es luego procesada por una herramienta de posicionamiento, la cual ubica las Celdad
Estándares en una región que representa el ASIC final. Esta ubicación está sujeta a un conjunto de
restricciones. En ocasiones se utilizan técnicas avanzadas para optimizar el posicionamiento.
6. La herramienta de ruteo toma la ubicación física de las celdas, y utiliza el listado de nodos para crear
las conexiones eléctricas entre ellas. La salida de esta etapa es un conjunto de fotomáscaras, con las
que el fabricante producirá los circuitos integrados.
7. Se puede hacer una estimación bastante precisa de los retardos finales, las resistencias y capacitancias
parásitas y del consumo de energía. Estas estimaciones son usadas en la ronda final de pruebas. Estas
pruebas demostrarán que el dispositivo funcionará en los rangos de temperatura y voltaje extremos.
Cuando estas pruebas finalizan, la información de las fotomáscaras en entregada para lafabricación
del chip.
Estos pasos de diseño son también comunes al diseño de un producto estándar. La diferencia significativa es
que el diseño con Celdas Estándares utiliza la biblioteca de celdas del fabricante, que ha sido utilizada en
potencialmente cientos de otros diseños, y por lo tanto constituyen un riesgo mucho menor que un diseño
hecho totalmente a la medida. Las Celdas Estándares producen una densidad de diseño con un costo
comparativamente más bajo, y pueden también integrar núcleos IP y SRAM en una forma efectiva, a
diferencia de las matrices de puertas.
Diseño basado en matriz de puertas

El diseño basado en Matriz de Puertas es un método de manufactura en donde las capas difundidas, es decir,
los transistores y otros elementos activos están predefinidos, y las obleas que contienen estos dispositivos se
mantienen en stock antes de la metalización, es decir, desconectadas. El proceso de diseño físico luego define
la interconexión del dispositivo final. Para la mayoría de de los fabricantes de ASIC, esto consiste de dos a
cinco capas metálicas, cada una perpendicular a la que la precede. Los costos fijos son mucho más bajos, ya
que las máscaras litográficas se requieren sólo para las capas metálicas, y los ciclos productivos son mucho
más cortos, ya que la metalización es un proceso comparativamente más rápido. También es importante para
el diseñador que con este método se pueden conseguir retardos de propagación mínimos, comparado con las
soluciones basadas en FPGAs disponibles en el mercado.
Los ASIC basados en MAtriz de puertas requieren siempre de un compromiso, ya que al determinar la
correspondencia de un diseño determinado con las obleas que el fabricante tiene es stock, nunca da una
utilización del 100%. A menudo las dificultades que aparecen al rutear las interconexiones, requieren migrar a
un dispositivo con un arreglo más grande, con el consecuente aumento en el costo del dispositivo. Estos
problemas frecuentemente son resultado del software utilizado para desarrollar las interconexiones.
En la actualidad, los diseños formados solamente por puertas lógicas raramente son implementados con
Matriz de puertas, y son reemplazados por dispositivos programables, como las FPGA, las cuales pueden ser
programadas por el usuario, y el costo fijo asociado es mínimo, un costo por unidad marginalmente superior, y
desempeño comparable. Hoy, las Matrices de puertas están evolucionando en ASIC estructurados, que
consisten en un gran núcleo IP (Intellectual Property), como un procesador, una unidad DSP, periféricos,
memorias y bloques lógicos reconfigurables. Este cambio se debe principalmente a que los ASIC son capaces
de integrar estos grandes bloques de sistemas funcionales, y los "sistemas en un chip" (SoC) requieren más
que sólo bloques lógicos.
El término "Matriz de puertas" (Gate Array) es casi sinónimo del término "Semi a la medida" (Semi-Custom).
El término utilizado depende de quién lo utilice; si se es un ingeniero de proceso, probablemente se utilice el
término "Semi a la medida", mientras que si se es un diseñador a nivel lógico, se utiliza "Matriz de puertas"
(Gate Array).
Diseño hecho totalmente a la medida
Sergio E. Ávila P. -2-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Por otro lado, el diseño hecho totalmente a la medida define la totalidad de las capas litográficas del
dispositivo. Este se utiliza tanto para el diseño de ASIC como para el diseño de productos estándares.
Los beneficios de este método usualmente incluye un área reducida (y consecuentemente costos por unidad
menores), mejoras en el desempeño y también la habilidad de integrar componentes analógicos y otros
componentes pre-diseñados, como son los microprocesadoresque forman un SoC.
Las desventajas del diseño totalmente a la medida son un costo y tiempo de desarrollo mayores, costos fijos
mayores, mayor complejidad del software CAD y la necesidad de habilidades mucho mayores por parte del
equipo de diseño.
Sin embargo, para diseños puramente digitales, las librerías de "celdas estándares", junto con los sistemas
CAD modernos, pueden ofrecer ventajas considerables en términos de costos y desempeño junto a un bajo
riesgo. Las herramientas de layout automático son rápidas y fáciles de usar, y ofrecen la posibilidad de
optimizar manualmente cualquier aspecto que limite el desempeño del diseño.

El diseño estructurado de ASIC es una expresión ambigua, con diferentes significados dependiendo del
contexto. Éste es un término relativamente nuevo en la industria, lo que explica que haya variaciones en su
definición. Sin embargo, la premisa básica es que tanto el ciclo de manufactura como el ciclo de diseño se
reducen comparado con los ASIC basados en celdas, gracias a la existencia de capas metálicas predefinidas
(que reducen el tiempo de fabricación), y una pre-caracterización de lo que está en el silicio (lo que reduce el
tiempo de diseño).
Una definición establece que en un diseño ASIC estructurado, las máscaras de las capas lógicas están
predefinidas por el vendedor del ASIC (en algunos caso por un tercero). El diseño se realiza al crear capas de
metal hechas a la medida, que crean conexiones entre los elementos predefinidos de las capas inferiores. La
tecnología de "ASIC estructurados" es vista como el puente que une la barrera entre las FPGA y los diseños
ASIC de celdas estándares. Debido a que sólo un número pequeño de las capas del chip deben ser producidas
a la medida, los "ASIC estructurados" tienen costos fijos menores que los chip basados en celdas estándares o
hechos totalmente a la medida, los que requieren producir un conjunto completo de máscaras para cada
diseño. Esto corresponde, en efecto, a la misma definición de una Matriz de Puertas.
Lo que hace a los ASIC estructurados diferente de las matrices de puertas es que en estas últimas, las capas
metálicas predefinidas sirven para acelerar el proceso de fabricación. En los ASIC estructurados, la
metalización predefinida sirve principalmente para reducir el costo del conjunto de máscaras, y también se
utiliza para reducir el ciclo de desarrollo. Por ejemplo, en un diseño basado en celdas o en matriz de puertas,
el usuario a menudo debe diseñar la alimentación, el reloj y las estructuras de prueba; éstas están predefinidas
en la mayoría de los ASIC estructurados, lo que se traduce en un ahorro de tiempo y costos. Asimismo, las
herramientas utilizadas para los ASIC estructurados pueden reducir sustancialmente y facilitar el diseño, ya
que la herramienta no tienen que realizar todas las funciones necesarias para los ASIC basados en celdas. En
algunos casos, los vendedores de ASIC estructurados requieren de herramientas hechas a la medida para usar
sus dispositivos, lo que también permite acelerar la manufactura.
Otro aspecto importante sobre los ASIC estructurados es que permiten el uso de IP que son comunes a ciertas
aplicaciones, o segmentos de la industria, en vez de ser diseñados. Al construir la IP directamente en la
arquitectura, el diseñador puede nuevamente ahorrar tanto tiempo como dinero, comparado con el diseño de
IP en ASIC basadas es celdas. El mejor consejo es leer cuidadosamente como el vendedor define un ASIC
estructurado en particular, ya que existen diferencias significativas entre las ofertas de los distintos
vendedores.
Fabricantes de ASIC (fundiciones)

 Chartered
 IBM
 LSI Logic
 Microchip Technology
 SMIC
 Texas Instruments
 TSMC
 UMC
 Agere Systems

Sergio E. Ávila P. -3-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

VHDL
VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo
de Very High Speed Integrated Circuit yHDL es a su vez el acrónimo de Hardware Description Language.
Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-
1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la
captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en
diseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL.
Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para
programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programmable
Gate Array), ASIC y similares.
Formas de describir un circuito

Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador
elegir la más apropiada.

 Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que más se parece a
los lenguajes de software ya que la descripción es secuencial. Estas sentencias secuenciales se encuentran
dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo
con asignaciones concurrentes de señales y con las instancias a otros componentes.
 Flujo de datos: describe asignaciones concurrentes (en paralelo) de señales.

 Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseño
de jerarquía superior, al conectar los puertos de estas instancias con las señales internas del circuito, o con
puertos del circuito de jerarquía superior.
 Mixta: combinación de todas o algunas de las anteriores.
En VHDL también existen formas metódicas para el diseño de máquinas de estados, filtros digitales, bancos
de pruebas etc.
Secuencia de diseño

El flujo de diseño de un sistema podría ser:

 División del diseño principal en módulos separados. La modularidad es uno de los conceptos
principales de todo diseño. Normalmente se diferencia entre dos metodologías de diseño: top-down y
botton-up. La metodología top-down consiste en que un diseño complejo se divide en diseños más
sencillos que se puedan diseñar (o describir) más fácilmente. La metodología botton-up consiste en
construir un diseño complejo a partir de módulos, ya diseñados, más simples. En la práctica, un diseño
usa generalmente ambas metodologías.
 Entrada de diseños, pueden usarse diversos métodos tal como VHDL como se vió anteriormente.
 Simulación funcional, es decir, comprobaremos que lo escrito en el punto anterior realmente funciona
como queremos, si no lo hace tendremos que modificarlo. En este tipo de simulación se comprueba que el
código VHDL o Verilog (u otro tipo de lenguaje HDL) ejecuta correctamente lo que se pretende.
 Síntesis. En este paso se adapta el diseño anterior (que sabemos que funciona) a un hardware en
concreto, ya sea una FPGA o un ASIC. Hay sentencias del lenguaje que no son sintetizables, como por
ejemplo divisiones o exponenciaciones con números no constantes. El hecho de que no todas las
expresiones en VHDL sean sintetizables es que el VHDL es un lenguaje genérico para modelado de
sistemas (no sólo para diseño de circuitos digitales), por lo que hay expresiones que no pueden ser
transformadas a circuitos digitales. Durante la síntesis se tiene en cuenta la estructura interna del
dispositivo, y se definen restricciones, como la asignación de pines. El sintetizador optimiza las
expresiones lógicas con objeto de que ocupen menor área, o bien son eliminadas las expresiones lógicas
que no son usadas por el circuito.
 Simulación post-síntesis. En este tipo de simulación se comprueba que el sintetizador ha realizado
correctamente la síntesis del circuito, al transformar el código HDL en bloques lógicos conectados entre
sí. Este paso es necesario ya que, a veces, los sintetizadores producen resultados de síntesis incorrectos, o
bien realiza simplificaciones del circuito al optimizarlo.
 Ubicación y enrutamiento. El proceso de ubicación consiste en situar los bloques digitales obtenidos
en la síntesis de forma óptima, de forma que aquellos bloques que se encuentran muy interconectados
entre sí se sitúen próximamente. El proceso de enrutamiento consiste en interconectar adecuadamente los

Sergio E. Ávila P. -4-

Otro detector b se activa cuando entra otro vehículo por el carril contrario. Son símbolos de dos estados mutuamente excluyentes.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 1 1 0 Una aplicación de la operación lógica NOR. cumple la lógica NOR: la lámpara SI se encenderá (1) si NO se acciona el interruptor a (0) NI se acciona el interruptor b (0). El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2). sería el sistema de seguridad de un puente levadizo. las cifras 0 y 1 no representan cantidades numéricas. .20 - . es porque al tener este sistema de numeración solo dos dígitos 0 y 1. Hagamos hincapié que en estos casos. Si se acciona cualquiera de los dos interruptores. Un detector a se activa cuando entra un vehículo en el puente. es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos Un circuito eléctrico compuesto por dos interruptores normalmente cerrados. en serie. Ávila P. Otro detector b se activa cuando entra otro vehículo por el carril contrario. Simbología: Universalidad de la compuerta NOR Circuitos de la universalidad de la compuerta NOR Una aplicación de la operación lógica NOR. Sergio E. por el carril derecho. Los motores que accionan el sistema de elevación del puente sólo deben ponerse en marcha si se da la condición NOR: no hay vehículos por el carril derecho NI por el izquierdo. Los motores que accionan el sistema de elevación del puente sólo deben ponerse en marcha si se da la condición NOR: no hay vehículos por el carril derecho NI por el izquierdo. Un detector a se activa cuando entra un vehículo en el puente. la lámpara NO se encenderá (0). sería el sistema de seguridad de un puente levadizo. por el carril derecho.

el corrector ortográfico la comparará con todas las palabras semejantes de su diccionario aplicando una función XNOR entre ellas. en las cuatro combinaciones posibles de valores dos variables. Simbología: Otro ejemplo de aplicación de la función lógica XNOR es la corrección automática de textos: si una persona escribe una palabra en su procesador de textos.23 - . En la tabla a continuación se muestran a las diferentes compuertas con su correspondiente símbolo IEEE y del fabricante. se muestran en la tabla de verdad adjunta: a b S 0 0 1 0 1 0 1 0 0 1 1 1 Un circuito eléctrico como el del esquema siguiente. ambas variables tienen el mismo valor. sobre dos variables a y b es el siguiente: S es cierto si a y b son CIERTOS (1) o si a y b son FALSOS (0). Los resultados de la operación lógica XNOR. cumple la lógica XNOR: la lámpara S se encenderá si se accionan ambos pulsadoreso si no se acciona ninguno de ellos. Es decir. El resultado S de aplicar la función lógica XNOR.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Simbología: Función XNOR La función XNOR se conoce también con el nombre de OREXCLUSIVA NEGADA. compuesto por dos pulsadores dobles NA + NC. Ávila P. . Sergio E.

aquí. . Del mismo modo. es preciso definir el valor que adopta la variable dependiente para todas las posibles combinaciones de las independientes. y en genera 2n para n variables. exige definir el resultado (0 o 1) para las 4 (2 2) combinaciones de valores posibles que a y b pueden presentar.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Compuerta Símbolo Símbolo alterno AND OR NOT NAND NOR XOR XNOR Operadores XOR y XNOR XOR: XNOR: En el álgebra tradicional. Puesto que en el álgebra de Boole las variables (independientes y función) solo pueden adoptar dos valores. Estas definiciones pueden expresarse cómodamente en forma tabular. para que una operación (otra manera de llamar a una función) entre dos variables esté perfectamente definida. Este tipo de representación se denomina Tabla de Verdad de la función. es preciso definir el valor de la resultante (función) para todo el ámbito de existencia de las variables independientes. la definición de un operador entre 2 variables a y b. para definir un operador entre dos variables lógicas. Ávila P. Consiste en una tabla con tantas Sergio E. Del mismo modo. para 3 variables hay que definir 23 resultados.24 - .

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Éstas tablas de verdad tienen poca importancia más allá de describir algún mecanismo cambiando. Cuando
nosotros podemos mirar lógica binaria como 2 estados cambiando con estados arbitrariamente nombrados él
se pone más fácil admitir cambiando como lógica ternaria sin preocupar lo que estos estados pueden significar

Lógica no binaria

Lógica digital para su utilización en los circuitos lógicos que se diseñan para manejar más de dos niveles
(voltajes, etc.). En la lógica q valorada hay q niveles y cada elemento de la memoria (circuitos basculantes,
etc.) puede existir en q estados diferentes. La clasificación de los circuitos lógicos en combinatorios y
secuenciales se aplica a la lógica de valores múltiples exactamente como a la lógica binaria. Normalmente hay
gran interés en la lógica ternaria (q = 3) y algo menos en la cuaternaria (q = 4). Estas lógicas prometen
números reducidos de puertas lógicas, elementos de la memoria y, quizá más significativamente, de
interconexiones. La lógica ternaria es sencilla de poner en aplicación en la tecnología CMOS y hay
posibilidad de que llegue a ser importante en el diseño de los circuitos de VLSI. Su riqueza lógica
incrementada se demuestra en el hecho de que existen 16 puertas binarias posibles de dos entradas, pero
19.683 puertas ternarias (haciendo caso omiso de las degradaciones en ambos casos).

Los conjuntos clásicos se definen mediante un predicado que da lugar a una clara división del Universo de
Discurso X en los valores "Verdadero" y "Falso". Sin embargo, el razonamiento humano utiliza
frecuentemente predicados que no se pueden reducir a este tipo de división: son los denominados predicados
vagos.

Por ejemplo, tomando el Universo de Discurso formado por todas las posibles temperaturas ambientales en la
ciudad de Huelva, se puede definir en dicho universo el conjunto A como aquél formado por las temperaturas
"cálidas". Por supuesto, es imposible dar a A una definición clásica, ya que su correspondiente predicado no
divide el universo X en dos partes claramente diferenciadas. No podemos afirmar con rotundidad que una
temperatura es "cálida" o no lo es. El problema podría resolverse en parte considerando que una temperatura
es "cálida" cuando su valor supera cierto umbral fijado de antemano. Se dice que el problema tan sólo se
resuelve en parte, y de manera no muy convincente, por dos motivos: de una parte el umbral mencionado se
establece de una manera arbitraria, y por otro lado podría darse el caso de que dos temperaturas con valores
muy diferentes fuesen consideradas ambas como "cálidas". Evidentemente, el concepto "calor" así definido
nos daría una información muy pobre sobre la temperatura ambiental.

La manera más apropiada de dar solución a este problema es considerar que la pertenencia o no pertenencia de
un elemento x al conjunto A no es absoluta sino gradual. En definitiva, definiremos A como un Conjunto
Difuso. Su función de pertenencia ya no adoptará valores en el conjunto discreto {0,1} (lógica booleana), sino
en el intervalo cerrado [0,1]. En conclusión podemos observar que los Conjuntos Difusos son una
generalización de los conjuntos clásicos.

Mediante notación matemática se define un Conjunto Difuso B como:

B = { ( x , mB( x ) ) / x å X }
mB: X® [0,1]

La función de pertenencia se establece de una manera arbitraria, lo cual es uno de los aspectos más flexibles
de los Conjuntos Difusos. Por ejemplo, se puede convenir que el grado de pertenencia de una temperatura de
"45ºC" al conjunto A es 1, el de "25ºC" es 0.4 , el de "6ºC" es 0, etc.: cuanto mayor es el valor de una
temperatura, mayor es su grado de pertenencia al conjunto B. Para operar en la práctica con los Conjuntos
Difusos se suelen emplear funciones de pertenencia del tipo representado en la figura 2.

Además una variable binaria puede adoptar un valor u otro (no ambos a la vez). En las lógicas de más de dos
estados la variable podría optar entre más de dos valores. Por ejemplo, en la lógica ternaria podría ser
"cierto", "falso" y "desconocido" (no definido, etc). Existe un tipo de lógica de más de dos estados, la lógica
Sergio E. Ávila P. - 64 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

difusa, en la que las variables pueden adoptar múltiples valores, intermedios entre dos posiciones extremas.
Estos valores intermedios representan estados no excluyentes. Por ejemplo, entre "cierto" y "falso" cabrían
todo tipo de situaciones intermedias: "casi completamente cierto", "medianamente cierto", etc. En estos casos,
la variable tiene, en mayor o menor proporción, una componente de los valores extremos. En cierto sentido
podríamos decir que la lógica binaria es absolutamente maniquea, mientras que la difusa se acercaría más al
mundo real.

Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND, OR, NOT),
algunas entradas y un juego de salidas, como cada salida corresponde a una función lógica individual, un
circuito combinacional a menudo implementa varias funciones booleanas diferentes, es muy importante
recordar éste echo, cada salida representa una función booleana diferente.
Un ejemplo común de un circuito combinacional es el decodificador de siete segmentos, se trata de un circuito
que acepta cuatro entradas y determina cuál de los siete segmentos se deben iluminar para representar la
respectiva entrada, de acuerdo con lo dicho en el párrafo anterior, se deben implementar siete funciones de
salida diferentes, una para cada segmento. Las cuatro entradas para cada una de éstas funciones booleanas son
los cuatro bits de un número binario en el rango de 0 a 9. Sea D el bit de alto orden de éste número y A el bit
de bajo orden, cada función lógica debe producir un uno (para el segmento encendido) para una entrada dada
si tal segmento en particular debe ser iluminado, por ejemplo, el segmento e debe iluminarse para los valores
0000, 0010, 0110 y 1000.

En la siguiente tabla se puede ver qué segmentos deben iluminarse de acuerdo al valor de entrada, tenga en
cuenta que sólo se están representando valores en el rango de 0 a 9, los decodificadores para las pantallas de
siete segmentos comerciales tienen capacidad para desplegar valores adicionales que corresponden a las letras
A a la F para representaciones hexadecimales, sin embargo la mecánica para iluminar los respectivos
segmentos es similar a la aquí representada para los valores numéricos.
Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico, se puede
construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones más.
Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico, se puede
construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones más.
Cantidades discretas de información se presentan en sistemas digitales con códigos binarios. Un código
binario de n bits es capaz de representar hasta 2 n elementos diferentes de información codificada. Un
decodificador es un circuito combinacional que convierte la información binaria de n líneas de entrada a un
máximo de 2 n salidas.

Decodificador en línea e 3 a 8 .
Como ejemplo tenemos un circuito decodificador en línea de 3 a 8. Las tres entradas se decodifican en ocho
salidas y cada salida representa uno de los terminos mínimos de las variables de 3 entradas. Los tres
inversores generan el complemento de las entradas y cada una de las ocho compuertas AND generan uno de
los términos mínimos. Una aplicación particular de este decodificador sería una conversión binaria a octal.
Las variables de entrada podrían representar un número binario y las salidas representarían los ocho dígitos en
el sistema de numeración octal. Sin embargo un decodificador en línea de 3 a 8 puede ser usado para
decodificar cualquier código de 3 bits para generar ocho salidas, una para cada elemento del código.

[1] Esto significa sencillamente que en un momento dado, una variable binaria puede adoptar un valor u otro
(no ambos a la vez). En las lógicas de más de dos estados la variable podría optar entre más de dos valores.
Por ejemplo, en la lógica ternaria podría ser "cierto", "falso" y "desconocido" (no definido, etc). Existe un
tipo de lógica de más de dos estados, la lógica difusa, en la que las variables pueden adoptar múltiples
valores, intermedios entre dos posiciones extremas. Estos valores intermedios representan estados no
excluyentes. Por ejemplo, entre "cierto" y "falso" cabrían todo tipo de situaciones intermedias: "casi
completamente cierto", "medianamente cierto", etc. En estos casos, la variable tiene, en mayor o menor
proporción, una componente de los valores extremos. En cierto sentido podríamos decir que la lógica binaria
es absolutamente maniquea, mientras que la difusa se acercaría más al mundo real.
Internamente el ordenador sólo es capaz de distinguir entre dos símbolos: 1 y 0.
Toda información debe ser codificada utilizando únicamente estos dos si Internamente el ordenador solo es
capaz de distinguir entre dos símbolos: 1 y 0.
Toda información debe ser codificada utilizando únicamente estos dos símbolos.
Toda operación debe ser codificada también en binario.
¿Cómo codificar toda la información utilizada utilizando lógica binaria?

Propiedades de una Codificación COD-2

Sergio E. Ávila P. - 65 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

A cada símbolo le corresponde un único código binario.
A cada código binario le corresponde un ´único símbolo.
¿Cuántos símbolos se quieren codificar?
Con n bits se pueden codificar hasta 2n símbolos diferentes.
Para codificar N símbolos se precisan como mínimo dlog2Ne.
Ejemplo: ¿Cuantos bits se necesitan para codificar 33 símbolos?

Codificación de Números Naturales COD-3
En lugar de utilizar base 10 se utiliza base 2.
Con un número finito de bits tan sólo se puede representar un subconjunto de los números naturales.
Ejemplo: Un número de cuatro cifras en base 10 d3d2d1d0 se obtiene mediante la fórmula:

Valor = _3i
=0(di _ basei) = (d0 _ 100) + (d1 _ 101) + (d2 _ 102) + (d3 _ 103)

Análogamente, un número de cuatro cifras en base 2, se obtiene mediante la misma fórmula.
Ejemplo: El valor del numero 1101 se obtiene
Valor = _3i
=0(di _ 2i) = (d0 _ 1) + (d1 _ 2) + (d2 _ 4) + (d3 _ 8)

Otra forma de cálculo: Los dígitos de un número binario tienen como peso relativo las potencias de 2: 1, 2, 4,
8, 16,. . .
El valor de un número no varía si se añaden ceros a su izquierda.
Al conjunto de ocho bits se le denomina byte.

Ejemplo de Codificación Binario - Decimal COD-4
Número en Binario Número en Decimal
00100111! 39
10110010 ! 178
11011001 ! 217
El peso de cada bit es 2p siendo p la posición que ocupa el bit en el número binario empezando por el bit
menos
Significativo y contando desde el cero.
Bit numero 0 1 2 3 4 5 6 7
Peso 20 21 22 23 24 25 26 27
Equivalente 1 2 4 8 16 32 64 128

Bit menos significativo: El de menor peso, es decir
20 = 1. El primero por la derecha.

Bit más significativo: El de mayor peso. En un byte, el
De peso 27 = 128. El ´ultimo por la derecha.
Conversión de Binario a Decimal
Peso Bit Valor Bit Valor Bit Valor
128 0 1 128 1 128
64 0 0 1 64
32 1 32 1 32 0
16 0 1 16 1 16
80018
414040
212120
1110111
Total 39 178 217

Codificación en Base 16 o Hexadecimal COD-5
Los números en lógica binaria son demasiado largos.
Para expresar un byte se precisa especificar los ocho bits.
Tanto la notación binaria como su traducción a decimal es muy incómoda de manipular.
La base 16 o hexadecimal permite una traducción instantánea de códigos binarios a un formato más compacto.
Los 16 dígitos se representan mediante los números 0 al 9 y las letras de la ’A’ a la ’F’.

Sergio E. Ávila P. - 66 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Cada dígito en hexadecimal representa cuatro bits (y viceversa).
Para denotar que un numero está codificado en hexadecimal se precede con el prefijo 0x

Dígito Ex. 0 1 2 3 4 5 6 7

Binario 0000 0001 0010 0011 0100 0101 0110 0111

Dígito Hex. 8 9 A B C D E F

Binario 1000 1001 1010 1011 11100 1101 1110 1111

Número en Binario Número en Hexacimal
00100111 ! 0x27
10110010 ! 0xB2
11011001 ! 0xD9
Se agrupan los bits de cuatro en cuatro comenzando por el menos significativo. El numero binario se completa
con
Los ceros a la izquierda necesarios.
Número en Binario Grupos de 4 bits Número en Hexadecimal
00100111 0010 = 2 0111 = 7 0x27
10110010 1011 = 11 0010 = 2 0xB2
11011001 1101 = 13 1001 = 9 0xD9
Conversión Hexadecimal/Decimal: Idéntica a la conversión binaria a decimal, pero utilizando 16 como base
en

Lugar de 2 y teniendo en cuenta los valores de las letras A, B, C, D, E y F.
0x27 ! 2 _ 161 + 7 _ 160 = 39
0xB2 ! 11 _ 161 + 2 _ 160 = 178
0xD9 ! 13 _ 161 + 9 _ 160 = 217

Codificación de Números Enteros COD-7

Al intentar codificar también números negativos la codificación aplicada para el número natural no sirve.

Primera Aproximación: Se codifica el valor absoluto como un número natural, y se añade un bit adicional
Para codificar su signo (positivo, negativo).
En este caso, se mezcla la codificación numérica, con la codificación de símbolos: positivo, negativo.
Esta codificación no es inequívoca: El cero puede tener dos códigos igualmente validos.

Segunda Aproximación: Representación en complemento a dos. Soluciona el problema anterior. La
codificación
´on sí es inequívoca.
Con n bits se pueden codificar los números enteros desde −2(n−1) hasta 2(n−1) − 1.
−128,−127, . . . ,−2,−1, 0, 1, 2, . . . , 126, 127
10000000, 10000001, . . . , 11111110, 11111111, 00000000, 00000001, 00000010, . . . , 01111110, 01111111
Además, los números positivos comienzan por cero y los negativos comienzan por uno.

Codificación de Números Enteros COD-8
Si el numero entero N es positivo, comienza por cero.
• Si N es positivo entonces N 2 [0, 2n−1 − 1].
• Como máximo N = 2n−1 − 1, y 2n−1 − 1 requiere n − 1 dígitos.
• El dígito n es cero.
Si el numero entero N es negativo, comienza por uno.
• Si N es negativo entonces N 2 [−2n−1,−1].
• N = −2n + ABS(N).
• Lo mínimo que puede valer ABS(N) es tal que −2n + ABS(N) = −2n−1.
• ABS(N) = 2n − 2n−1 = 2n−1, entonces N comienza por uno.
Números Representación
Naturales N 2 [0, 2n − 1] N = Pn−1

Sergio E. Ávila P. - 67 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

0 2ibi
Enteros N 2 [0, 2n−1 − 1] N empieza por cero,
N = Pn−1
0 2ibi
N 2 [−2n−1,−1] N empieza por uno,
N = −2n + ABS(N)
N = −2n +Pn−1
0 2ibi
−128,−127, . . . ,−2,−1, 0, 1, 2, . . . , 126, 127
10000000, 10000001, . . . , 11111110, 11111111, 00000000, 00000001, 00000010, . . . , 01111110, 01111111

Aritmética con Números Enteros COD-9
Los números enteros se representan con un conjunto finito de bits.
Las operaciones entre enteros reciben operandos y producen un resultado entero.
¿Qué pasa si sólo podemos manipular números decimales de 4 dígitos y sumamos 9999 + 1000?
Cuando un número no se puede representar con los dígitos permitidos se produce una situación de
desbordamiento (overflow).

Ejemplo: Representamos números decimales con 1 byte. ¿Cuál es el resultado de la suma 0xFC + 0xA5?

Aritmética con Números Enteros Representados en Binario COD-10
En base 10 (números decimales), las operaciones de multiplicación y división entera por 10 son triviales.
En general, en base b, las operaciones de multiplicación y división entera por b son triviales.
Ejemplo: Al multiplicar por 2 el número 01101011 se obtiene 11010110 (o en hexadecimal 0x6B*2 = 0xD6).
Ejemplo: Al dividir por 2 el número 01101011 se obtiene 00110101 (o en hexadecimal 0x6B/2 = 0x35).
¿Cómo se realiza una multiplicación o división por una potencia de 2 de un número binario?
¿Qué sucede en la operación 0x90*4 si los números se representan por 1 byte?

Representación de Números Reales COD-11
La representación de números enteros y naturales en binario se reduce a un intervalo definido por el número
De bits utilizado por la representación.
En un intervalo de números reales existen infinitos números.
¿Cómo se puede representar un conjunto finito con un conjunto infinito de bits?.
Sólo se representan ciertos números.
Todo número real se puede representar mediante la expresión: mantisa _ base, donde la mantisa es un numero
Cuyo primer decimal es diferente de cero.
Ejemplo: 15,4 = 0,154 _ 102: Ambos datos se pueden codificar como enteros
La representación en coma flotante consiste en codificar las dos partes de un número: mantisa y exponente
Como dos enteros: mantisa _ 2e.

Representación de Números Reales COD-12
Los dígitos a la derecha de la coma tienen como peso las potencias negativas de 2.
Ejemplo: 110, 101 = 1 _ 22 + 1 _ 21 + 0 _ 20 + 1 _ 2−1 + 0 _ 2−2 + 1 _ 2−3 = 6, 625
Para representar un numero en coma flotante se desplaza hasta que no haya dígitos en su parte entera y se
Ajusta el exponente.
Ejemplo: 110, 101 = 0, 110101 _ 23
Supongamos una representación con 8 bits para la mantisa y 4 para el exponente. La codificación ser’ a:
mantisa = 11010100, exp = 0011.
¿Cómo puedo incrementar la precisión de la mantisa manteniendo el mismo número de bits?

Representación de Conjuntos de Símbolos COD-13
Un conjunto arbitrario de n símbolos se puede representar mediante un conjunto de bits.
Con un bit podemos codificar un máximo de dos elementos.
¿Cuántos bits se precisan?
Se debe especificar el tamaño de la representación (numero de bits por símbolo) y la correspondencia
símbolo-número binario.

Representación de Conjuntos de Símbolos COD-14
Ejemplo: Se quiere representar la colección de colores {rojo, verde, azul}.
Se necesitan como mínimo dos bits.

Sergio E. Ávila P. - 68 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

2 bits permiten cuatro combinaciones, por tanto se pueden codificar cuatro elementos como máximo.
00 ! Elemento 1
01 ! Elemento 2
10 ! Elemento 3
11 ! Elemento 4

¿Cuántos elementos como máximo podemos codificar con n bits?
¿Por qué “como máximo”?
01 ! Elemento 1
10 ! Elemento 2
Posibles codificaciones:
Valor Cód. 1 Cód. 2 Cód. 3
Rojo 00 11 001
Verde 01 10 010
Azul 10 01 100

Representación de Cadenas de Caracteres (Strings) COD-15
Aparte de datos numéricos, se precisan manipular cadenas de caracteres.
La codificación de los caracteres tiene que ser común para todas las aplicaciones.
Los códigos más comunes utilizados para esta representación son ASCII (8 bits) y Unicode (16 bits).
El código ASCII, al utilizar 8 bits puede representar un máximo de 256 símbolos.
Ejemplo: Los caracteres ’1’, ’2’, ’3’, ’4’ y ’5’ se representan como 0x31, 0x32, 0x33, 0x34, 0x35

Almacenamiento de un Programa COD-16
Un programa es un texto que se escribe mediante un editor en un fichero.
Los símbolos incluidos en el fichero se codifican mediante código ASCII, y estos números son los que se
almacenan en el fichero.
.data
20 20 20 20 20 20 20 20 2E 64 61 74 61 0A
msg: .asciz "Hello world\n"
6D 73 67 3A 20 20 20 20 2E 61 73 63 69 7A 20 22 48 65 6C 6C...
.text
20 20 20 20 20 20 20 20 2E 74 65 78 74 0A
.globl start
20 20 20 20 20 20 20 20 2E 67 6C 6F 62 6C 20 73 74 61 72 74...
start: push \$msg
73 74 61 72 74 3A 20 20 70 75 73 68 20 24 6D 73 67 0A
call printf
20 20 20 20 20 20 20 20 63 61 6C 6C 20 70 72 69 6E 74 66 0A
20 20 20 20 20 20 20 20 61 64 64 20 24 34 2C 20 25 65 73 70....
ret
20 20 20 20 20 20 20 20 72 65 74 0A
Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid

Codificación de Operaciones COD-17
En lugar de codificar números o símbolos se quieren codificar operaciones.
Ejemplo: Operaciones de suma, resta, multiplicación y división de dos números de 8 bits.

¿Cuántas posibles combinaciones de operaciones son posibles?
Existen 4 operaciones, 256 números posibles como primer operando, y 256 como segundo, total: 28 _ 28 _ 22
=
218.

Se deben codificar 218 elementos posibles. Se procede a codificarlos por partes.
1. Conjunto de operaciones ADD, SUB, MUL, DIV: se precisan 2 bits como mínimo.
2. Primer operando: se precisan 8 bits.
3. Segundo operando: se precisan 8 bits.

Sergio E. Ávila P. - 69 -

−127. En un intervalo de números reales existen infinitos números. . 0. Ejemplo: Al dividir por 2 el número 01101011 se obtiene 00110101 (o en hexadecimal 0x6B/2 = 0x35). ¿Cuál es el resultado de la suma 0xFC + 0xA5? Aritmética con Números Enteros Representados en Binario COD-10 En base 10 (números decimales). Ejemplo: 110. Ejemplo: 110.−1. Sólo se representan ciertos números. Se necesitan como mínimo dos bits. verde.−2. . . ¿Cómo se puede representar un conjunto finito con un conjunto infinito de bits?. . . Ejemplo: Al multiplicar por 2 el número 01101011 se obtiene 11010110 (o en hexadecimal 0x6B*2 = 0xD6).4 = 0. Todo número real se puede representar mediante la expresión: mantisa _ base. Ejemplo: Representamos números decimales con 1 byte. 126. Representación de Conjuntos de Símbolos COD-14 Ejemplo: Se quiere representar la colección de colores {rojo. Ejemplo: 15. . Ávila P. 10000001. 101 = 1 _ 22 + 1 _ 21 + 0 _ 20 + 1 _ 2−1 + 0 _ 2−2 + 1 _ 2−3 = 6.154 _ 102: Ambos datos se pueden codificar como enteros La representación en coma flotante consiste en codificar las dos partes de un número: mantisa y exponente como dos enteros: mantisa _ 2e. 00000001. 00000000. azul}. . 110101 _ 23 Supongamos una representación con 8 bits para la mantisa y 4 para el exponente. Representación de Números Reales COD-12 Los dígitos a la derecha de la coma tienen como peso las potencias negativas de 2.76 - . 00000010. ¿Qué pasa si sólo podemos manipular números decimales de 4 dígitos y sumamos 9999 + 1000? Cuando un número no se puede representar con los dígitos permitidos se produce una situación de desbordamiento (overflow). 1. . . en base b.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES −128. Con un bit podemos codificar un máximo de dos elementos. ¿Cuántos bits se precisan? Se debe especificar el tamaño de la representación (numero de bits por símbolo) y la correspondencia símbolo-número binario. las operaciones de multiplicación y división entera por b son triviales. . 01111111 Aritmética con Números Enteros COD-9 Los números enteros se representan con un conjunto finito de bits. . por tanto se pueden codificar cuatro elementos como máximo. exp = 0011. La codificación ser’ a: mantisa = 11010100. . 101 = 0. donde la mantisa es un numero cuyo primer decimal es diferente de cero. En general. . 2 bits permiten cuatro combinaciones. . . . 01111110. 00 ! Elemento 1 01 ! Elemento 2 10 ! Elemento 3 11 ! Elemento 4 ¿Cuántos elementos como máximo podemos codificar con n bits? ¿Por qué “como máximo”? 01 ! Elemento 1 Sergio E. Las operaciones entre enteros reciben operandos y producen un resultado entero. 2. ¿Cómo puedo incrementar la precisión de la mantisa manteniendo el mismo número de bits? Representación de Conjuntos de Símbolos COD-13 Un conjunto arbitrario de n símbolos se puede representar mediante un conjunto de bits. ¿Cómo se realiza una multiplicación o división por una potencia de 2 de un número binario? ¿Qué sucede en la operación 0x90*4 si los números se representan por 1 byte? Representación de Números Reales COD-11 La representación de números enteros y naturales en binario se reduce a un intervalo definido por el número de bits utilizado por la representación. 127 10000000. . las operaciones de multiplicación y división entera por 10 son triviales. 11111111. 11111110. 625 Para representar un numero en coma flotante se desplaza hasta que no haya dígitos en su parte entera y se ajusta el exponente.

1. .. 3 Rojo 00 11 001 Verde 01 10 010 Azul 10 01 100 Representación de Cadenas de Caracteres (Strings) COD-15 Aparte de datos numéricos. Formato de Instrucciones COD-18 Se decide representar la instrucción como una secuencia de 2 bits que denotan la operación... seguida de los 8 bits que codifican el primer operando y 8 más que codifican el segundo. ’4’ y ’5’ se representan como 0x31. Se procede a codificarlos por partes. Ejemplo: Los caracteres ’1’.77 - . y 256 como segundo. SUB. Conjunto de operaciones ADD.. %esp 20 20 20 20 20 20 20 20 61 64 64 20 24 34 2C 20 25 65 73 70. Se deben codificar 218 elementos posibles. Ávila P. La codificación de los caracteres tiene que ser común para todas las aplicaciones. . se precisan manipular cadenas de caracteres. 0x34. ¿Cuantas posibles combinaciones de operaciones son posibles? Existen 4 operaciones. y estos números son los que se almacenan en el fichero. MUL.text 20 20 20 20 20 20 20 20 2E 74 65 78 74 0A . 1 Cod.. ’2’.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 10 ! Elemento 2 Posibles codificaciones: Valor Cod. Segundo operando: se precisan 8 bits. ’3’. Los símbolos incluidos en el fichero se codifican mediante código ASCII. 2 Cod. El código ASCII.data 20 20 20 20 20 20 20 2E 64 61 74 61 0A msg: .globl start 20 20 20 20 20 20 20 20 2E 67 6C 6F 62 6C 20 73 74 61 72 74. Operación Codification ADD 00 SUB 01 MUL 10 DIV 11 • Con esta codificación la operación para sumar los números 0x27 y 0xB2 se codifica: ADD 0x27 0xB2 = 00 00100111 10110010 • ¿Cuántos bytes son precisos para codificar la instrucción ´en anterior? Sergio E. DIV: se precisan 2 bits como mínimo. al utilizar 8 bits puede representar un máximo de 256 símbolos.. Primer operando: se precisan 8 bits. ret 20 20 20 20 20 20 20 20 72 65 74 0A Codificación de Operaciones COD-17 En lugar de codificar números o símbolos se quieren codificar operaciones. 256 números posibles como primer operando. total: 28 _ 28 _ 22 = 218. 0x35 Almacenamiento de un Programa COD-16 Un programa es un texto que se escribe mediante un editor en un fichero. resta. start: push \$msg 73 74 61 72 74 3A 20 20 70 75 73 68 20 24 6D 73 67 0A call printf 20 20 20 20 20 20 20 20 63 61 6C 6C 20 70 72 69 6E 74 66 0A add \$4. Los códigos más comunes utilizados para esta representación son ASCII (8 bits) y Unicode (16 bits). . 2.asciz "Hello world\n" 6D 73 67 3A 20 20 20 20 2E 61 73 63 69 7A 20 22 48 65 6C 6C. Ejemplo: Operaciones de suma. 0x33. multiplicación y división de dos números de 8 bits. 3. 0x32..

and m22(x. the ternary logic system can not have a Boolean Algebra structure. and it is not raining. respectively.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Table 2: All the one-variable ternary functions When n = 2 we have two-variable functions f(x. Otra manera de describir las operaciones básicas antedichas está considerándolas como funciones. La tabla de verdad de un dispositivo ternario se ve diferente desde una binaria. • f19(x) = x^¬x = it is raining. Therefore. La negación del operador unario es una función f: ¡Z3! Z3. y). if only if it is not raining and the sun is not shining. This function is not a contradiction as it happens in the binary logic case.86 - . xn) of n variables. ya que es unestado más que tratar. Then we write some of the 19683 two-variable functions • τ(x. x2. . Esta función es conmutativa (ya que no importa si cambiamos la 'a' y las entradas 'B').y) = ¬x ^ ¬y we can verify in the Table 3 that this is a tautology called the first law of the De Morgan. This function is not a tautology as it happens in the binary logic case. Example: Some functions or propositions of two variables Let x. Ávila P. Also this example shows that condition 10 of the definition of Algebra of Boole can not be hold by the ternary logic system. La siguiente figura muestra la tabla de verdad de una función lógica ternaria. y)= ¬x ¬y we can see that the second law of the De Morgan holds in ternary logic. y)= ¬(x y) and m12(x. to show the true table for each one. y be the propositions “it is raining” and “the sun is shining”. in a single page. Also this example shows that condition 9 of the definition of Algebra of Boole can not be hold by the ternary logic system. or it is not raining. It is impossible. Sergio E. In the same way we can compute that there are three-variable different functions. y) = ¬(x y)↔(¬x^¬y) =It is not true that it is raining or the sun is shining. y un operador binario tal como la separación es una función f: Z2 ¡3! Z3. the ternary logic system can not have a Boolean Algebra structure. .y)= ¬(x^y). then we show 6 of the 27 one-variable ternary functions f(x) • f1(x) = id(x) = it is raining (affirmation) • f20(x) = N(x) = ¬x = it is not raining (negation) • f8(x) = τ(x)= xx = if it is raining then it is raining (tautology) • f22(x) = γ(x) = ¬(xx) = it is not true that if it is raining then it is raining (contradiction) • f2(x) = x ¬x = it is raining. . . . Analogously for m 21(x. Example: Some functions or propositions of one variable Let x be the simple statement “it is raining”. and there are of them. By making m11(x. Podemos definir generalmente funciones lógicas ternarias como mappings f: Zn ¡3! Z3. In general there exist different ternary logical functions f(x1. Therefore.

The following figure shows the ternary signal a= [2 1 0 1 1 0 2 0 2 2 1 2 0 1 0 2]. The true table of this function is shown in the Table 4 together the true table of the implication and we can verify over there. y) = ¬x y = it is not raining or the sun is shining. .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Table 3: The De Morgan laws in ternary logic • α(x. Table 5: The derivation of the equivalence law in ternary logic Señales ternarias Ternary input and output signals can assume one of three levels. y) = (x→y)^(y→x) = If it not raining then the sun is shining. Ávila P. y) and imp(x. We can verify in the Table 4 that it is equivalent with the implication as the binary case. and if the sun is shining then it is raining. y) = ¬y¬x = If the sun is not shining then it not raining. Consequently they have more 'information content' than binary signals. We can see in the Table 5 that it is equivalent to the “equivalent” function. y) are not equivalent as it happens in binary logic • β(x. Sergio E.87 - . Table 4: (x→y)↔(¬x y) fails and (¬y→¬x)↔(x !) holds in ternary logic• δ(x. that α (x.

88 - . logic states are being defined on the basis of assigned values b. While this is in part true it would ignore fundamentally different properties of multi-value logic compared to binary logic. without changing the essence of the logic functions. This is of course not possible in non-binary logic. not every ternary state can be 'inverted' into another ternary state c. Multi-valores invertibles It may seem that multi-value logic is similar to binary logic just with more states and functions. . And the inversion of a' is a''=[0 1 2]. 0 and +1. 1 and 2 are assigned by us and are not inherent to ternary logic. The number of possible 4-value logic functions is around 4 billion. It is not the purpose of this web page to provide an in-depth analysis of multi-value logic. The same approach can be applied to other non-binary logics. such as 4-value logic. The most useful inversion is one that can be reversed. The following figure shows the ternary input signals 'a' and 'b' and the ternary output signal 'c' of a ternary logic device executing ternary logic function 'ter'. That leaves '1' to have itself as an inversion. The inversion of state '0' can be '1' or '2'. However one aspect that must be pointed out is the use of state (or value) inversion in multi-value logic. An arithmetical approach to inverters in an m-valued logic in the literature is provided by the formula:\ x = (m-1) – y In this formula y is the 'original' value and x is the 'inverted' value of y. Keep in mind that the values 0. Ávila P. Sergio E. For instance the inversion of '0' can be '2' and the inversion of '2' can be '0'. which we named '0'. The inversion of the signal a=[0 1 2] would then be a'=[2 1 0]. Each state has the other as its inversion. which is useful in balancing the DC component of the signals. In binary logic each of the two states '0' and '1' has one inversion. The inversion of '0' is '1' and the inversion of '1' is '0'. There are several unsatisfactory aspects to this definition. here are three of them: a. They can for instance be -1. this inverter is of limited use State based ternary inverters In ternary logic there are three states.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES The following figure shows the ternary input signals 'a' and 'b' and the ternary output signal 'c' of a ternary logic device executing ternary logic function 'ter'. This demonstrates how to apply non-binary logic. '1' and '2'. Much of the literature uses this approach and you will see in many articles that x = [ 2 1 0] is used as the standard ternary inverter of y = [0 1 2].

Comparado a decimal y a binario Representaciones de números del número entero en ternario no consiga incómodo muy largo tan rápidamente como adentro binario.11111111111 0.1 0. y 2.01010101010 0.33333333333 0. etc. usado en lógica de la comparación y computadoras ternarias.14285714285 0.01111111111 0. . ternario no ofrece a representación finita para la fracción más básica: una mitad (y así.vea abajo para una manera compacta de codificar usar ternario nonary y septemvigesimal.00100100100 0. con un nombre análogo a “pedacito".02020202020 0. decimal 365 corresponde a 101101101 binarios (9 dígitos) y a 111112 ternarios (6 dígitos)..00110011001 0.01210121012 0. Fracciones en ternario Ternar 0. alternadamente.00220022002 0.00200200200 0. son todos números enteros no negativos. Sin embargo. Fracci 1/2 1/3 1/4 1/5 1/6 1/7 ón Ternar 0..01010101010 0.96 - . o bien ``aspirantes a ingresar al bachillerato'' y ``escuelas de bachilleres disponibles''..16666666666 0.).. 0.00010011101 0..00211002110 0.. etc.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES tesis''. Un trit contiene cerca de 1.25 0. Sergio E.. el adjetivo también presta su nombre a ternario equilibrado sistema..00010101010 0.1 io 1… 2… 1… 1… 2. un octavo.00101010101 0.00011001100 0. Ternario dígitos se conocen como trits (trempuje inaryél).5 0.01021201021 0. pero una desventaja importante es que. Sistema de numeración ternario Ternario o trinary es base-3sistema de numeración.2 al 3… 6… 7.00202020202 0.01 io 1… 2… 0… 0… 2… Binari 0.. o bien ``cursos'' y ``aulas''. Los números uno twenty-seven en ternario estándar Ternario 1 2 10 11 12 20 21 22 100 Binario 1 10 11 100 101 110 111 1000 1001 Decimal 1 2 3 4 5 6 7 8 9 Ternario 101 102 110 111 112 120 121 122 200 Binario 1010 1011 1100 1101 1110 1111 10000 10001 10010 Decimal 10 11 12 13 14 15 16 17 18 Ternario 201 202 210 211 212 220 221 222 1000 Binario 10011 10100 10101 10110 10111 11000 11001 11010 11011 Decimal 19 20 21 22 23 24 25 26 27 En cuanto a números racionales.58596 (registro23) pedacito de la información. ofertas ternarias una manera conveniente de representar un tercio (en comparación con su representación incómoda como secuencia infinita de dígitos que se repiten en decimal). Ávila P.001 o 1.00011100011 0. Aunque ternario refiere lo más a menudo posible a un sistema en el cual los tres dígitos. Binari 0. 1. ni unos ni otros para un cuarto.. 1… 1.00010111010 0. Por ejemplo.01 o 1… 1… … 1… Decim 0. siguen siendo menos acuerdo lejano que las representaciones correspondientes en bases por ejemplo decimal . un sexto. un décimos. 1… 0. porque 2 no es a primafactor de la base.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Estas críticas son contestadas por Fox, quien alude que esta lógica es un aparato que permite analizar
transacciones del mundo real que son inherentemente difusas. Fox opina axial mismo, que la lógica difusa y la
lógica no son en si competidoras sino mas bien complementarias la una de la otra.

Conceptos básicos de lógica difusa:

Conjuntos difusos.
Un universo es una colección de objetos de los que se hablará en una lógica específica. Por ejemplo, si se ha
de tratar de ``contribuyentes al fisco'', entonces el universo consistirá de las personas físicas o morales que
pagan o han de pagar impuestos y, naturalmente, de las cantidades pagadas como impuesto. Si se habla de
automóviles y sus refacciones, el universo consistirá de los objetos involucrados, a saber, automóviles y
componentes de ellos que sean relevantes en el discurso.

Un conjunto en el universo es, desde un punto de vista intuitivo, una colección de objetos en el discurso tal
que es posible decidir cuándo un objeto del universo está o no en esa colección. En el universo de
contribuyentes, las personas físicas forman un conjunto, las personas morales otro, los contribuyentes cuyo
pago anual de impuestos excede 10 5 unidades monetarias forma un conjunto, etc. Abstrayendo la noción de
conjunto, se puede considerar que un conjunto es exactamente una función del universo en el conjunto de
valores 0,1 que asocia precisamente el valor 1 a los objetos que estén en el conjunto y el valor 0 a los que no 1.

Un conjunto difuso es también una función que asocia a cada objeto del universo un valor en el intervalo [0,1].
Si x es un objeto en el universo y y=C(x) es el valor asociado a x, se dice que y es el grado de pertenencia del
objeto x al conjunto difuso C. Así pues, todo conjunto en el sentido usual es también un conjunto difuso. Los
conjuntos usuales merecen un nombre especial. En inglés, por ejemplo, se les llama de manera convencional
crisp2 sets. En español no hay una tal convención, así que aquí los llamaremos sencillamente conjuntos
usuales.
El conjunto vacío coincide con la función idénticamente cero y el universo coincide con la función
constante. Por ejemplo, en el universo de contribuyentes, para cada contribuyente x, sea i(x) el impuesto anual
pagado por x en unidades monetarias. En México, podemos suponer que i(x)=104 es un valor más o menos
generalizado, i(x)=105 es un valor propio de un contribuyente de la ``clase media alta'' e i(x)=106 es propia de
un millonario. Por supuesto que hay posibles valores mayores para la función i. Podemos distinguir un

conjunto de ``contribuyentes mayores'' asociándole a cada contribuyente x el valor 1 si , el valor

si , y 0 en cualquier otro caso. En la figura 1 (a) presentamos gráficamente a
esta función que determina a un conjunto difuso de contribuyentes mayores. El eje de las x's tiene como
unidades ``diez millares de unidades monetarias'' y se muestra ahí únicamente a valores entre -10 y 110
. Otro conjunto de ``contribuyentes mayores'' se puede construir asociándole a cada contribuyente x el

valor f(i(x)) donde En la figura (1) (b) se ve la gráfica de esta segunda función.
Aquí la distinción entre contribuyentes mayores y no-mayores es más drástica alrededor de las 500 000

Subconjuntos

Dados dos conjuntos difusos A y B en un universo, diremos que A es un subconjunto de B si para todo objeto x

del universo se cumple la desigualdad . Los conjuntos serán iguales si cada uno es un
subconjunto del otro, en otras palabras, si para todo x, A(x) = B(x).
Por ejemplo, en el conjunto de contribuyentes consideremos al conjunto mostrado en la figura 1 (a):

(1)

Sergio E. Ávila P. - 103 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

donde i(x) es el impuesto anual pagado por x en unidades monetarias. Ahora consideremos al conjunto de
Cuya gráfica está en la figura 3 (a) (observe ahí que aunque se tiene la misma forma que en la figura 1 (a) la
escala de valores en el dominio de la función es distinta).

(2)

Cuya gráfica está en la figura 3 (a) (observe ahí que aunque se tiene la misma forma que en la figura 1 (a) la
escala de valores en el dominio de la función es distinta).

Gráficamente esto se ve en la figura 3 (b), donde la función que ahí aparenta ser la constante 1 es la que
determina el conjunto difuso de contribuyentes mayores . Por tanto el conjunto de contribuyentes gigantes es
un subconjunto del de contribuyentes mayores. Todo contribuyente que sea ``gigante'' ha de ser ``mayor'',
aunque el recíproco no se cumpla.

Puede parecer paradójica la ec. (3), mas no lo es. Por ejemplo, un contribuyente que aporta un impuesto de,

digamos, unidades monetarias tiene un grado de pertenencia a ``gigantes'' igual a 1/2, mas su
grado de pertenencia a ``mayores'' es 1. Es pues ``mayor'' con toda certeza, mas no tanto es ``gigante''.

Cortes
Estas operaciones en conjuntos difusos permite transformarlos en conjuntos usuales. Fijo un umbral a se toma
alos elementos cuyo grado de pertenencia al conjunto difuso sea al menos a. Sea A un conjunto difuso y sea
un número entre 0 y 1. El corte-a de A es el conjunto, en el sentido usual, consistente de aquellos objetos
cuyos grados de pertenencia a A superen, estrictamente, el valor a. En el ejemplo arriba de ``contribuyentes
gigantes'' si se fija, por ejemplo entonces el corte- consta de los contribuyentes cuya contribución anual exceda
a las unidades monetarias. Si a>0, el corte-a cerrado de A es3 Aa el cual conjunto consta de los puntos cuyos
grados de pertenencia a A no sea inferior a a.

Tamaños
Con esta noción ``contaremos'' a los elementos de un conjunto difuso.
El tamaño, o cardinalidad, de un conjunto difuso A en un universo dado es la suma, sobre los elementos del
universo, de los grados de pertenencia a A: El peso relativo, respecto a A, de cada objeto x del universo es .
Por ejemplo, en el recuadro (1) presentamos un universo de 10 contribuyentes, cada uno con su respectivo
impuesto anual, y sus grados de pertenencia a los conjuntos de contribuyentes ``mayores'' y ``gigantes''.
Table 1: Un universo de 10 contribuyentes.

``mayores'' ``gigantes'' ``mayores'' ``gigantes''

Azcárraga 8 454 1 18.30 77.59

Bracho 10 0 1.66 0.00

Sergio E. Ávila P. - 104 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Cárdenas 200 1 18.30 1.83

De la Madrid 300 1 18.30 2.74

Elizondo 4 0 .55 0.00

Fox 945 1 18.30 8.67

Gómez 1 0 0 0.00 0.00

Hernández 34 0 6.10 0.00

Iglesias 1 000 1 18.30 9.17

Jiménez 2 0 0.18 0.00

Tamaños:

El tamaño del conjunto ``mayores'' en ese universo es o sea, la suma de la tercera

columna en el recuadro (1). El del conjunto ``gigantes'' es o sea, la suma de la
cuarta columna. Así pues, podemos pensar que ``mayores'' abarca aproximadamente el 54% de los 10
miembros del universo y ``gigantes'' el 11%.
Los pesos relativos de cada contribuyente en los dos conjuntos aparecen, multiplicados por 100 para
expresarlos como porcentajes, en el mismo recuadro (1), en sus últimas columnas.

Momentos
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso. El valor esperado, o centroide, de un

conjunto difuso A es el promedio . Inclusive, se define la noción de m-ésimo

momento de A como .
Los momentos de un conjunto difuso proporcionan información sobre la ``distribución'' de los puntos en ese
conjunto difuso.

Por ejemplo, en el recuadro (2) presentamos los momentos de órdenes 1, 2, 5 y 20 de los conjuntos ``mayores''
y ``gigantes'' en el universo de los 10 contribuyentes.

Sergio E. Ávila P. - 105 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

El momento de orden 1 es el centroide. Para el conjunto de ``mayores'', se tiene que el valor esperado del
grado de pertenencia a ese conjunto es 0.93... La manera en la que decrecen los valores de los momentos
muestra que la noción de ``mayores'' está distribuída más uniformemente que la de ``gigantes'' en el universo

Table 2: Momentos de orden 1, 2, 5 y 20 en el universo de 10 contribuyentes.

Orden k k-ésimo momento de k-ésimo momento de
``mayores'' ``gigantes''
1 0.937004051606639 0.6812326310655667
2 0.921892613092972 0.5674392997837057
5 0.915223398204837 0.3521307053587635
20 0.914972273584962 0.0329106898382526

Realces

Un realce es una función unaria que hace el papel de un adverbio en un conjunto
difuso. Dado un conjunto difuso A el realce de A bajo r es la función que se obtiene de aplicar primero A y
luego r, llamada también la composición . Un realce es pues un subconjunto difuso en el intervalo

unitario [0,1]. Si para cada t, , decimos que r es un realce diminutivo4 en tanto que si para cada t,

, decimos que r es un realce aumentativo. En el ejemplo más adelante se verá una justificación de
esta terminología.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.

Para cada p>0, la función , es un realce. Para el realce rp

es diminutivo y para , rp es aumentativo. En la figura 4 se muestra las gráficas de las funciones rp para

.

Figure: Gráficas de las funciones rp para

.

Sergio E. Ávila P. - 106 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Como casos extremos están p=0, que hace 1 a todo grado de pertenencia positivo según se ve en la figura 5
(b), y , que hace 0 a todo grado de pertenencia inferior a 1 según se ve en la

figura 5 (c). r0 es el ``más diminutivo'' de los realces rp y el ``más aumentativo''.

Ejemplo:
Consideremos como universo al conjunto de vehículos de transporte. Sea el conjunto difuso que a

cada vehículo v le asocia el valor , donde V(v) es la velocidad promedio, medida en , con la
que v recorre la distancia entre dos puntos prefijados. En el recuadro (3) mostramos algunos ejemplos de
valores de velocidad y su gráfica, visto como función.

Ahora bien, consideremos el realce diminutivo . Entonces para cada

posible vehículo vtendremos . En el recuadro (4)
mostramos los mismos ejemplos considerando el conjunto difuso al menos un poco veloz.
Los vehículos que son menos rápido tienen un grado de pertenencia mayor al conjunto Al menos un poco

veloz. Similarmente, consideremos el realce aumentativo . Entonces para cada posible vehículo

v tendremos . En el recuadro (5) mostramos los mismos ejemplos
considerando el conjunto difuso muy veloz.

También aquí, los vehículos veloces tienen un menor grado de pertenencia a los Muy veloces.

Proporción en la que se posee un atributo

En este caso, los grados de pertenencia se interpretan como proporciones, por lo cual se definen las
operaciones como sigue:

Complemento: El complemento de un conjunto difuso D asigna a cada objeto x el grado “complementario”:
gD(x) = 1 - gD(x).

Intersección: La intersección de dos conjuntos difusos D, E asocia el mínimo de los grados de pertenencia, es
decir, para cada objeto x: gD ∩ E(x) = Min(gD(x), gE(x)).

Unión: De manera similar, la unión de dos conjuntos difusos D, E asocia el máximo de los grados de
pertenencia, es decir, para cada objeto x: gD U E(x) = Max(gD(x), gE(x)).

Vistos los grados de pertenencia como probabilidades, se tiene:

Complemento: La probabilidad del complemento de un conjunto difuso D es la probabilidad
“complementaria”: gD(x) = 1 - gD(x).

Sergio E. Ávila P. - 107 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Intersección: Ésta es la probabilidad de la ocurrencia simultánea de dos eventos.

La intersección está muy ligada al concepto de probabilidad condicional. Si denotamos por Prob(A│B) a la
probabilidad de que “ocurra A dado que ha ocurrido B”, entonces por un célebre resultado de la Teoría de la
Probabilidad, llamado el Teorema de Bayes, ha de valer la identidad Prob(A│B)Prob(B) =
Prob(B│A)Prob(A). El valor común en esta igualdad es, precisamente, la probabilidad de la intersección
Prob(A ∩ B).

Así pues, teniendo una función d que a dos eventos cualesquiera A, B les asocia una “densidad de
probabilidad condicional” d(AjB) tal que a cada objeto x le asocia un valor d(A│B)(x) de manera que

d(A│B)(x) * gB(x) = d(B│A)(x) * gA(x)

Entonces para dos conjuntos difusos cualesquiera D, E se puede definir el grado de pertenencia a la
intersección como gD ∩ E(x) = d(D│E)(x) * gE(x).

Para definir la operación de intersección, basta tener un operador de “probabilidad condicional”.

De manera recíproca, si se tiene definida de alguna manera al operador de intersección, entonces siguiendo el
teorema de Bayes se puede definir un operador de “probabilidad condicional”.

Por tanto, las nociones de intersección (probabilista) de conjuntos difusos y la de probabilidad condicional son
reducibles una a la otra.

Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. Al
contrario de una primera idea sugerida por su nombre, veremos que la lógica difusa es un área de cálculo
preciso. Ambos problemas, de deducción y de inferencia, pueden ser resueltos, efectiva y eficientemente,
analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los
conectivos lógicos. Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico
o simbólico. Al contrario de una primera idea sugerida por su nombre, veremos que la lógica difusa es un área
de cálculo preciso. Ambos problemas, de deducción y de inferencia, pueden ser resueltos, efectiva y
eficientemente, analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y
en los conectivos lógicos.

Unión: La probabilidad de que ocurra uno u otro evento es la probabilidad de uno, más la probabilidad del
otro, menos la probabilidad de que ocurran ambos eventos:

gD U E(x) = gD(x) + gE(x) – gD ∩ E(x).

Medida de creencia

Las siguientes funciones pueden parecer definidas de manera arbitraria, pero ciertamente tienen una
motivación intuitiva:

Complemento: Como en los casos anteriores: gD(x) = 1 - gD(x).

Intersección: Dados dos conjuntos difusos A, B con sendos grados de pertenencia gA y gB, si para un punto
dado x, la suma gA(x) + gB(x) es menor que 1 entonces descartamos que ese punto sea común a ambos
conjuntos, es decir, no debe estar “en la intersección”. En otro caso, se toma como grado de pertenencia, a la
intersección, a la razón de la diferencia [gA(x) + gB(x)] - 1 entre el máximo de gA(x) y gB(x). En símbolos

Unión: Dados dos conjuntos difusos A, B con sendos grados de pertenencia gA y gB, si para un punto dado x,
la suma gA(x) + gB(x) es mayor que 1 entonces convenimos en que ese punto está “en la unión”. En otro
caso, se toma como grado de pertenencia, a la unión, al máximo de las razones gA(x)/(1-gB(x)) y gB(x)/(1-
gA(x)). En símbolos:

Sergio E. Ávila P. - 108 -

Sea la función . el complemento de C bajo N coincide con el complemento de C en el sentido usual. Negación de la falsedad. Si A es un conjunto difuso y N es una negación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Sea la función .1 Si C es un conjunto usual y N es una negación cualquiera.1 Si C es un conjunto usual y N es una negación cualquiera. (b) Negación de la falsedad. Figure 9: (a) Negación de la verdad. Observación 2. Por ejemplo para el conjunto de contribuyentes mayores definido por la ecuación (1) se tiene Por ejemplo para el conjunto de contribuyentes mayores definido por la ecuación (1) se tiene Si A es un conjunto difuso y N es una negación. Ávila P.134 - . entonces la composición es el complemento de A bajo el operador N. Sergio E. Su gráfica se ve en la figura 9 (a). Observación 2. el complemento de C bajo N coincide con el complemento de C en el sentido usual. entonces la composición es el complemento de A bajo el operador N. Su gráfica se ve en la figura 9 (b). .

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES y para todo : f(Mf(x))=f(1)-f(x). (1). La función f se dice ser generadora de la negación-d Mf. Mf es pues una negación-d. Figure: (a) Función . Por tanto. y por consiguiente Mf(Mf(x))=f-1(f(1)-(f(1)-f(x))) =f-1(f(x)) =x. (b) Correspondiente negación Mg. Ávila P.136 - . . Por ejemplo. (b) Correspondiente negación Mf. Sergio E. y su gráfica se muestra en la figura 12 (a). cuya gráfica se muestra en la figura 10 (a). Para cada elección de una función f con las propiedades enlistadas. obtenemos una negación-d en particular. Figure: (a) Función . Consideremos ahora la función g ``simétrica'' de la anterior f (el exponente lo cambiamos por el exponente 2): Para g tal que . cuya gráfica se muestra en la figura 10 (b). Para la función f tal que . consideremos el conjunto de contribuyentes mayores definido por la ec. cuya gráfica se muestra en la figura 11 (a). tenemos que su inversa se expresa como y consecuentemente .

es completo. Por tanto. donde es el complemento de la unión. Ávila P. es completo. donde . de entre ellas a las leyes de De Morgan de manera principal. utilizando propiedades de álgebra booleana.3 Se tiene: 1. donde denota a la operación complemento. es completo. donde es el complemento de la intersección. es completo. 5. y su gráfica se muestra en la figura 12 (b). es completo. Observación 2.137 - . 2. cuya gráfica se muestra en la figura 11 (b).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES tenemos que su inversa se expresa como y consecuentemente . . 4. Recordamos que una colección de operadores en conjuntos se dice ser completa si cualquier otro operador conjuntista se expresa en términos de los operadores en esa colección. en términos de se tiene Sergio E. OPERADORES BINARIOS Las operaciones conjuntistas usuales pueden ponerse en función de algunas otras operaciones distinguidas. 1. 3. En efecto.

Entonces es. es una negación entonces. son del tipo llamado ``de densidad''. Si. Veamos algunos ejemplos. un operador conjuntor y. Las que aparecen en el lado derecho. Min-Max. en efecto. se puede definir a los demás en términos de ellos. Procederemos ahora a introducir operadores que extiendan a los usuales de intersección y unión. Ávila P. Observemos que la intersección usual es asociativa. ya que la intersección junto con el complemento forman un conjunto completo de conectivos. de acuerdo con el lema (2. En la figura 13 presentamos las gráficas de estas funciones. es decir.139 - . por otro lado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un operador conjuntor determina un operador de intersección de conjuntos difusos. que son gráficas a vista de pájaro. conmutativa. monótona en cada uno de sus factores. Figure 13: Operadores composicionales del tipo Max-Min . Sergio E. donde los menores valores corresponden al color negro.3). . Sea y N(x)=N1(x)=1-x.

la convención es usual: ``Menores valores numéricos corresponden a prioridades mayores y. 2. B o C pudieron haber actuado y al menos uno de ellos es culpable: . 4Nadie más que A. Ávila P.141 - . Posteriormente se atrapa a tres maleantes sospechosos A. Si A fuese culpable y B inocente. entonces C ha de ser culpable: . Table 10: Definición de formas proposicionales. En el recuadro (10) presentamos estas definiciones precisas. Hay que decidir las culpabilidades de ellos. Las pesquisas muestran evidencias de que A siempre se acompaña de B o de C para sus fechorías. Sergio E. y al mismo tiempo se define la noción de conectivo principal de FP's. se aplican primero los conectivos más a la izquierda''. Consideremos tres variables proposicionales para codificar correspondientes hipótesis: Los ``hechos'' siguientes pueden representarse por correspondientes formas proposicionales: 1.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES tienen prioridad 2 En el manejo de prioridades. A nunca actuaría con C: . B y C. C nunca actuaría solo: . } El conjunto FP de formas proposicionales se define inductivamente. Los asaltantes transportaron su botín en una camioneta. Por ejemplo. con prioridades iguales. consideremos el acertijo siguiente: Ha ocurrido un cuantioso robo en una tienda. B o C y al menos uno de ellos es culpable. . pero también A no se acompañaría de C en un atraco. 3. C por su lado nunca actuaría solo. El atraco sólo pudo haber sido cometido por A.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Contador Este es un ejemplo de un sistema que contará pulsos de un reloj digital (CLK) hasta llegar a 1000 y entonces volverá a empezar. useIEEE. En esta misma dirección pueden encontrarse además el código fuente de los ejemplos expuestos a lo largo del texto así como una serie de referencias bibliográficas y direcciones de Internet de interés actualizado periódicamente. Después de compilar este programa habría que indicar a la herramienta encargada del diseño las restricciones oportunas para asignar las señales de entrada y salida a las patillas del chip donde se programará o bien usar este diseño dentro de otro. begin process(DU) variable i :INTEGER. SYN(2):= D(4)xor D(5)xor D(6)xor D(7). NOERROR:outSTD_LOGIC ). entity hamcorr is port( DU:inSTD_LOGIC_VECTOR(1 to 7).std_logic_1164. return(SYN). architecture hamcorr of hamcorr is function syndrome (D:STD_LOGIC_VECTOR) returnSTD_LOGIC_VECTORis variable SYN:STD_LOGIC_VECTOR(2 downto 0). begin SYN(0):= D(1)xor D(3)xor D(5)xor D(7). i:=CONV_INTEGER(syndrome(DU)). DC:outSTD_LOGIC_VECTOR( 1 to 7). Ávila P. Sergio E. end syndrome.all. . begin DC<=DU. cuya resolución se encuentra en una dirección de Internet que proporciona soporte al texto.std_logic_unsigned. useIEEE. La inicialización se consigue con un reset (RST). Al final de los capítulos se proponen una serie de ejercicios.all. end hamcorr.155 - . libraryIEEE. Incluye un gran número de ejemplos reales que permitirán al lector comprobar fácilmente su nivel de asimilación del lenguaje e ir poco a poco adquiriendo confianza en su capacidad de diseño. SYN(1):= D(2)xor D(3)xor D(6)xor D(7). if i=0 then NOERROR <='1'. Corrección Hamming Ejemplo del código corrector de errores Hamming implementado en VHDL.

y un método para generar el mismo. representando la secuencia decimal de 0 a 63. El primero es divisiones sucesivas y el segundo es suma de potencias de 2. no hay ningunas pruebas que Shao entendió el cómputo binario. Ejemplo Convertir el número 15310 a binario.162 - . Sin embargo. Entonces para formar el número 10102: (el número 10 en binario) 1 x 23 =1x8=8 8 0 x 22 =0x4=0 + 0 1 x 21 =1x2=2 + 2 0 x 20 =0x1=0 + 0 equivalente decimal ---> = 10 Equivalente Base 10 Número decimal Base 2 Número binario decimal 100 1 20 1 1 101 10 21 10 2 102 100 22 100 4 103 1000 23 1000 8 104 10000 24 10000 16 105 100000 25 100000 32 106 1000000 26 1000000 64 107 10000000 27 10000000 128 108 100000000 28 100000000 256 109 1000000000 29 1000000000 512 1010 10000000000 210 10000000000 1024 CONVERSIÓN DE BASES Conversiones de un Sistema a Otro Las conversiones entre números de bases diferentes se efectúan por medio de operaciones aritméticas simples. en el segundo número la potencia de dos es 2 1 y así hasta el último número del lado izquierdo. fue desarrollado por el erudito y filósofo Chino Shao Yong en el siglo XI. . apuntando los residuos. Dentro de las conversiones más utilizadas se encuentran: Conversión de Decimal a Binario Para la conversión de decimal a binario se emplean dos métodos. Cada peso tiene asociado una potencia de 2. El último residuo obtenido es el bit más significativo (MSB) y el primero es el bit menos significativo (LSB). hasta obtener un cociente cero. Por divisiones sucesivas Se va dividiendo la cantidad decimal por 2.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un arreglo binario ordenado de los hexagramas del I Ching. Sergio E. Ávila P. En el primer número (de derecha a izquierda) la potencia de dos 20.

1112.125 = 0.25 + 0.87510 es 0. Ejemplo de Conversión de Decimal a Binario.2.5 + 0. Conversión de Fracciones Decimales a Binario Para la conversión de fracciones decimales a binario se emplean el siguiente método.163 - .00 1 LSB Tabla 1. si se cuenta con alguna familiaridad con las potencias de 2 este último método es más rápido.5 1 0.1.1112 Por multiplicaciones sucesivas La conversión de números decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El número decimal se multiplica por 2.87510 = (2-1) + (2-2) + (2-3) = 0. El resultado en binario de 0. el cual va a ser el MSB y su parte fraccional se emplea para la siguiente multiplicación y seguimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado.87510 a binario.5 1. 15310 = 27 + 24 + 23 + 20 = 128 + 16 +8 +1 15310= 100110012 Como se aprecia. .Ejemplo de conversión de decimal a binario El resultado en binario de 15310 es 10011001 Por sumas de potencias de 2 Este método consiste en determinar el conjunto de pesos binarios cuya suma equivalga al número decimal. Número N N X 2 Parte entera Peso 0.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Figura 1.75 1.2. 0. Ejemplo Convertir el número 0. Ejemplo Convertir el número 0. Sergio E. Por suma de potencias de 2 Emplea la misma metodología de la suma de potencias de 2 pero se trabaja con potencias negativas.1.875 1.87510 a binario. de éste se extrae su parte entera.75 1 MSB 0. Ejemplo Convertir el número 15310 a binario. Ávila P. El último residuo o parte entera va a constituir el LSB.

7158 = (111001101)2 decimal es: 1. Ejemplo : (1010. 1F0C16 = 11111000011002 Conversión de Octal a Decimal La conversión de un número octal a decimal se obtiene multiplicando cada dígito por su peso y sumando los productos: Ejemplo Convertir 47808 a decimal.5 = 408. . y la conversión de cada parte se efectúa por separado: Ejemplo : Convertir el numero (41)10 a binario 41 1 LSB 20 0 10 0 5 1 2 0 1 1 MSB Sergio E.167 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Convertir el número 31F16 a decimal.011)2 = 1*23+0*22+1*21+0*20+0*2–1+1*2–2+1*2–3 = 8+0+2+0+0+0.125 = 10. Ejemplo Convertir el número 7158 a binario. Ejemplo Convertir el número 1F0C16 a binario. Ejemplo: (630.4)8 = 6*82+3*81+0*80+4*8–1 = 384+24+0.5 Cuando deseamos efectuar la conversión de decimal a binario o a cualquier otro sistema con base r es más conveniente si el número se separa en parte entera y en una parte fraccionaria. Binario a decimal Un número binario x puede convertirse en decimal efectuando la suma de las potencias cuyo valor es uno.375 Para los números expresados en base r podríamos efectuar su conversión a decimal multiplicando cada coeficiente por la potencia correspondiente de r y sumando. Ávila P.25+0. 31F16 = 3x162 + 1x16 + 15 x 160 = 3x256 + 16 + 15 = 768 + 31 = 79910 Conversión de Hexadecimal a Binario La conversión de hexadecimal a binario se facilita porque cada dígito hexadecimal se convierte directamente en 4 dígitos binarios equivalentes. 4780 = (4 x 83)+(3x82)+(8x81)+(0x80) = 2048+192+64+0= 2304 Conversión de Octal a Binario La conversión de octal a binario se facilita porque cada dígito octal se convierte directamente en 3 dígitos binarios equivalentes.

6875)10=(0.984 * 8 7 0.1011)2 Cuando deseamos convertir una fracción decimal en número expresado en base r.248 * 8 1 0.75a-2 = 0 0.6875 *2 1 0. el procedimiento es similar.656 a-3 = 6 0.513)10 a base 8 Entero Fracción Coeficiente 0.6875)10 → (101001. la multiplicación se hace con r en lugar de 2 y los coeficientes se encuentran con los enteros.3750 *2 0 0. y los enteros se acumulan en lugar de los residuos.75 *2 1 0.513 * 8 4 0.104 a-1 = 4 0.6875)10 a base 2 Entero Fracción Coeficiente 0.5 *2 1 0. Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES (41)10 = (101001)2 Para convertir cualquier entero decimal han cualquier sistema de base r la división se hace entre r en lugar de 2. Ejemplo : (41. el sistema que se sigue es similar al que utilizamos para los enteros. se usa la multiplicación en lugar de la división.168 - .0a-4 = 1 (0. Ejemplo : convertir (0. .104 * 8 0 0.832 * 8 6 0. Ávila P.248 a-4 = 5 0. sin embargo. Ejemplo : convertir (0. Ejemplo : Convertir el numero (153)10 a base 8 153 1 LSB 198 3 2 2 MSB (153)10=(231)8 Para convertir una fracción decimal a binario.5a-3 = 1 0.656 * 8 5 0.984 a-5 = 1 0.3750 a-1 = 1 0.872 a-6 = 7 Cuando deseamos hacer la conversión de un número decimal de una parte entera y una parte fraccionaria la conversión se hace por separado y posteriormente se combinan las dos respuestas.1011)2 Números octales y hexadecimales.832 a-2 = 0 0.

Transformamos el decimal a binario 103. 2. realizaremos lo siguiente: 1.125 = 138. 010000101. A partir de la izquierda separamos al número BCD en grupos de 4 bits.5(10)=1100111. Conversion de BCD a decimal Ya que el código BCD son grupos de 4 bits.101 es igual al BCD 000100111000. Transformamos cada grupo a decimal. Convertimos cada dígito a decimal a BCD. 4. Ejemplo: Convertir el BCD 000100000011.5 + 0. Ejemplo: convertir el binario 10001010. 0101 a decimal 1 0 3. convertimos el decimal a BCD 138. 3.101 128 + 8 + 2 + 0. Cada dígito decimal se convierte a su equivalente BCD. Cada grupo de 4 bits se convierte a su decimal correspondiente.625 = 0001 0011 1000.170 - . El número obtenido equivale en decimal al número BCD.101 a BCD Se convierte primero a decimal 10001010.0101 a binario. Cada grupo de 4 bits se convierte a su equivalente decimal. El número obtenido es el equivalente decimal del número BCD. Convertimos el número binario a número decimal. Ejemplo: Convertir el número BCD 010101000011 a decimal.011000100101 Sergio E. El BCD 01110001.00001000 equivale al decimal 71. Convertimos el decimal obtenido a binario mediante las técnicas ya estudiadas. 3. A partir del punto binario separamos al número binario en grupos de 4 bits.0000100 a decimal. 2. El numero obtenido es el equivalente BCD del número binario puro. . 2. 0000 1000. y colocamos el punto binario en la misma posición del punto decimal. El número BCD lo transformamos a decimal. El punto binario se convertirá en el punto decimal. convertimos cada grupo a decimal y colocamos el punto binario como punto decimal. El binario obtenido es el equivalente en binario del número BCD. 3. ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Separamos el decimal en sus dígitos 7 4.625. 4 2.08 Conversion BCD a binario puro Si queremos transformar un número BCD a su correspondiente binario llevaremos a cabo los siguientes pasos: 1. 2. Ejemplo: Convertir el número BCD 01110001. Ávila P. Figura 3: Conversión de BCD a decimal. 3. Figura 4: Conversión de BCD fraccionario a decimal. separamos en grupo de 4 bits 0111 0001. Figura 2: Conversión de decimal fraccionario a BCD De esta forma el decimal 74.1 Conversion de Binario puro a BCD 1. 0110 0010 0101 El binario 10001010.42 equivale al BCD 01100100. El BCD 010101000011 equivale al decimal 543 Conversion de BCD fraccinario a decimal 1. Separamos en grupos de 4 bits a partir de la izquierda 0101 0100 0011. Convertimos 0001 0000 0011. 5.

64 32 16 8 4 2 1 Pesos 1 0 0 0 0 1 1 64+2+1 = 67 10-Convertir el número Binario 1000011110 a Decimal. 128 64 32 16 8 4 2 1 Pesos 1 1 1 1 1 1 1 1 128+64+32+16+8+4+2+1 = 255 9-Convertir el número Binario 1000011 a Decimal. 32 16 8 4 2 1 Pesos 1 0 1 0 0 0 32+8 = 40 13. Sergio E. 512 256 128 64 32 16 8 4 2 1 Pesos 1 0 0 0 0 1 1 1 1 0 512+16+8+4+2 = 542 11. 4 2 1 Pesos 1 1 1 4+2+1=7 5. 256 128 64 32 16 8 4 2 1 Pesos 1 1 1 0 0 0 1 1 1 256+128+64+4+2+1=455 6-Convertir el número Binario 110011 a Decimal. .Convertir el número Binario 101000 a Decimal.Convertir el número Binario 111 a Decimal.Convertir el número Binario 1010101 a Decimal. 64 32 16 8 4 2 1 Pesos 1 0 0 0 1 1 1 64+4+2+1= 71 8-Convertir el número Binario 11111111 a Decimal.Convertir el número Binario 10001 a Decimal.172 - .Convertir el número Binario 11101110011 a Decimal. 16 8 4 2 1 pesos 1 0 0 0 1 16 + 1 = 17 3. 64 32 16 8 4 2 1 pesos 1 0 1 0 1 0 1 64+16+4+1=85 4. 32 16 8 4 2 1 pesos 1 1 1 0 0 1 32 + 16 + 8 + 1 = 57 2. Ávila P.Convertir el número Binario 111000111 a Decimal.Convertir el número Binario 111000111 a Decimal. 1024 512 256 128 64 32 16 8 4 2 1 Pesos 1 1 1 0 1 1 1 0 0 1 1 1024+512+256+64+32+16+2+1 = 1907 14. 32 16 8 4 2 1 Pesos 1 1 0 0 1 1 32+16+2+1 = 51 7-Convertir el número Binario 1000111 a Decimal.Convertir el número Binario 10101010101 a Decimal. 256 128 64 32 16 8 4 2 1 Pesos 1 1 1 0 1 0 1 1 1 256+128+64+16+4+2+1 = 471 12.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Binario a Decimal 1.Convertir el número Binario 111001 a Decimal.

Convertir el número Decimal 34 a Binario. 215/2 = 107 Resto 1 LSB 107/2 = 53 Resto 1 53/2 = 26 Resto 1 26/2 = 13 Resto 0 11010111 13/2 = 6 Resto 1 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 5. 34/2 = 17 Resto 0 LSB 17/2 = 8 Resto 1 8/2 = 4 Resto 0 100010 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB 3.Convertir el número Decimal 125 a Binario. . 125/2 = 62 Resto 1 LSB 62/2 = 31 Resto 0 31/2 = 15 Resto 1 15/2 = 7 Resto 1 1111101 7/2 = 3 Resto 1 3/2 = 1 Resto 1 1 MSB 4. Ávila P. 524/2 = 262 Resto 0 LSB 262/2 = 131 Resto 0 131/2 = 65 Resto 1 65/2 = 32 Resto 1 32/2 = 16 Resto 0 16/2 = 8 Resto 0 1000001100 8/2 = 4 Resto 0 4/2 = 2 Resto 0 Sergio E.175 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2.Convertir el número Decimal 545 a Binario.Convertir el número Decimal 215 a Binario.

4002/2 = 2001 Resto 0 LSB 2001/2 = 1000 Resto 1 1000/2 = 500 Resto 0 500/2 = 250 Resto 0 Sergio E. .Convertir el número Decimal 4002 a Binario.Convertir el número Decimal 3226 a Binario. 3226/2 = 1613 Resto 0 LSB 1613/2 = 806 Resto 1 806/2 = 403 Resto 0 403/2 = 201 Resto 1 201/2 = 100 Resto 1 100/2 = 50 Resto 0 50/2 = 25 Resto 0 110010011010 25/2 = 12 Resto 1 12/2 = 6 Resto 0 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 8. Ávila P.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2/2 = 1 Resto 0 1 MSB 6. 1024/2 = 512 Resto 0 LSB 512/2 = 256 Resto 0 256/2 = 128 Resto 0 128/2 = 64 Resto 0 64/2 = 32 Resto 0 32/2 = 16 Resto 0 10000000000 16/2 = 8 Resto 0 8/2 = 4 Resto 0 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB 7.Convertir el número Decimal 1024 a Binario.176 - .

La semántica de relación ternaria. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico.177 - . expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. Urquhart y Fine entre otros. 9. Para comprender los conceptos básicos de la semántica de relación ternaria.Convertir el número Decimal 5151 a Binario. como un tipo de implicación. Ávila P. 5151/2 = 2575 Resto 1 LSB 2575/2 = 1287 Resto 1 1287/2 = 643 Resto 1 643/2 = 321 Resto 1 321/2 = 160 Resto 1 160/2 = 80 Resto 0 80/2 = 40 Resto 0 1010000011111 40/2 = 20 Resto 0 20/2 = 10 Resto 0 10/2 = 5 Resto 0 5/2 = 2 Resto 1 Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 250/2 = 125 Resto 0 125/2 = 62 Resto 1 62/2 = 31 Resto 0 111110100010 31/2 = 15 Resto 1 15/2 = 7 Resto 1 7/2 = 3 Resto 1 3/2 = 1 Resto 1 1 MSB El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. De modo general. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. algunas de ellas realmente especiales. A continuación. definida a comienzos de los años setenta por Routley y Meyer. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. . Finalmente. Por tanto. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. como veremos. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. se diseñó especialmente para modelizar las lógicas de la relevancia.

178 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2/2 = 1 Resto 0 1 MSB 10. 6363/2 = 3181 Resto 1 LSB 3181/2 = 1590 Resto 1 1590/2 = 795 Resto 0 795/2 = 397 Resto 1 397/2 = 198 Resto 1 198/2 = 99 Resto 0 99/2 = 49 Resto 1 1100011011011 49/2 = 24 Resto 1 24/2 = 12 Resto 0 12/2 = 6 Resto 0 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 11.Convertir el número Decimal 10010 a Binario. 8224/2 = 4112 Resto 0 LSB 4112/2 = 2056 Resto 0 2056/2 = 1028 Resto 0 1028/2 = 514 Resto 0 514/2 = 257 Resto 0 257/2 = 128 Resto 1 128/2 = 64 Resto 0 64/2 = 32 Resto 0 10000000100000 32/2 = 16 Resto 0 16/2 = 8 Resto 0 8/2 = 4 Resto 0 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB 12. . Sergio E. Ávila P.Convertir el número Decimal 8224 a Binario.Convertir el número Decimal 6363 a Binario.

podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. La semántica de relación ternaria. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. definida a comienzos de los años setenta por Routley y Meyer. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. Urquhart y Fine entre otros. como veremos. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. Por tanto.Convertir el número Decimal 11222 a Binario. algunas de ellas realmente especiales. Finalmente. como un tipo de implicación. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación.179 - . Ávila P. 11222/2 = 5611 Resto 0 LSB 5611/2 = 2805 Resto 1 2805/2 = 1402 Resto 1 1402/2 = 701 Resto 0 Sergio E. . De modo general. A continuación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 10010/2 = 5005 Resto 0 LSB 5005/2 = 2502 Resto 1 2502/2 = 1251 Resto 0 1251/2 = 625 Resto 1 625/2 = 312 Resto 1 312/2 = 156 Resto 0 156/2 = 78 Resto 0 78/2 = 39 Resto 0 10011100011010 39/2 = 19 Resto 1 19/2 = 9 Resto 1 9/2 = 4 Resto 1 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. 13. Para comprender los conceptos básicos de la semántica de relación ternaria. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. se diseñó especialmente para modelizar las lógicas de la relevancia.

Convertir el número Decimal 13456 a Binario.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 701/2 = 350 Resto 1 350/2 = 175 Resto 0 175/2 = 87 Resto 1 87/2 = 43 Resto 1 10101111010110 43/2 = 21 Resto 1 21/2 = 10 Resto 1 10/2 = 5 Resto 0 5/2 = 2 Resto 1 2/2 = 1 Resto 0 1 MSB 14.Convertir el número Decimal 23987 a Binario.180 - . Ávila P. 23987/2 = 11993 Resto 1 LSB 11993/2 = 5996 Resto 1 5996/2 = 2998 Resto 0 2998/2 = 1499 Resto 0 1499/2 = 749 Resto 1 749/2 = 374 Resto 1 374/2 = 187 Resto 1 Sergio E. . 13456/2 = 6728 Resto 0 LSB 6728/2 = 3364 Resto 0 3364/2 = 1682 Resto 0 1682/2 = 841 Resto 0 841/2 = 420 Resto 1 420/2 = 210 Resto 0 210/2 = 105 Resto 0 105/2 = 52 Resto 1 1010010010000 52/2 = 26 Resto 0 26/2 = 13 Resto 0 13/2 = 6 Resto 1 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 15.

1024/16 = 64 Resto 0 64/16 = 4 Resto 0 4 0 0 Sergio E. 17/16 = 1 Resto 1 1 1 2-Convertir el número Decimal 31 a Hexadecimal. 325/16 = 2 Resto 5 2 5 7.Convertir el número Decimal 1024 a Hexadecimal. Ávila P. 31/16 = 1 Resto 15 1 F 3-Convertir el número Decimal 112 a Hexadecimal.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 187/2 = 93 Resto 1 101110111110011 93/2 = 46 Resto 1 46/2 = 23 Resto 0 23/2 = 11 Resto 1 11/2 = 5 Resto 1 5/2 = 2 Resto 1 2/2 = 1 Resto 0 1 MSB Decimal a Hexadecimal. .Convertir el número Decimal 169 a Hexadecimal. 112/16 = 7 Resto 0 7 0 4.181 - . 888/16 = 55 Resto 8 55/16 = 3 Resto 7 3 7 8 8.Convertir el número Decimal 325 a Hexadecimal. 169/16 = 1 Resto 9 1 9 6. 1-Convertir el número Decimal 17a Hexadecimal.Convertir el número Decimal 888 a Hexadecimal.

3333/16 = 208 Resto 5 208/16 = 13 Resto 0 D 0 5 11.Convertir el número Decimal 3333 a Hexadecimal. Ávila P. .Convertir el número Decimal 111222 a Hexadecimal. 6969/16 = 435 Resto 9 435/16 = 27 Resto 3 27/16 = 1 Resto 11 1 B 3 9 12.Convertir el número Decimal 12345 a Hexadecimal. 19876/16 = 1242 Resto 4 1242/16 = 77 Resto 10 77/16 = 4 Resto 3 4 3 A 4 14.Convertir el número Decimal 6969 a Hexadecimal.Convertir el número Decimal 33333 a Hexadecimal. 33333/16 = 2083 Resto 5 2083/16 = 130 Resto 3 130/16 = 8 Resto 2 8 2 3 5 15.182 - . 1999/16 = 124 Resto 15 124/16 = 7 Resto 12 7 C F 10.Convertir el número Decimal 19876 a Hexadecimal. 111222/16 = 6951 Resto 6 6951/16 = 434 Resto 7 Sergio E. 12345/16 = 771 Resto 9 771/16 = 48 Resto 3 48/16 = 3 Resto 0 3 0 3 9 13.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 9.Convertir el número Decimal 1999 a Hexadecimal.

colocando un numero encima del otro. Todos los números bajo la misma columna tienen el mismo valor posicional. . Del gráfico de la figura 1 podemos sacar las siguientes conclusiones: 1. salvo que la suma final se realiza en binario. Los números o sumandos se suman en paralelo o en columnas. Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Ejemplo: c) Multiplicación binaria La multiplicación binaria sigue las mismas reglas que la correspondiente a la base diez. Ávila P. La diferencia radica en que en los números binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). Ejemplos: d) División binaria Ejemplos: Suma Binaria Figura 1: Suma binaria La suma o adición binaria es análoga a la de los números decimales.186 - .

190 - . el multiplicando negativo En este caso al resultado hay que corregirlo. 00000000000 11000110 11010110111 ------------------------ 10010000010111101 Multiplicación de números binarios positivos 101101 110011 ------ 101101 101101 ------- 10000111 000000 -------- 10000111 000000 --------- 010000111 101101 ---------- 1101010111 101101 ----------- 100011110111 Multiplicación de números binarios. Ávila P. . Debe entonces restarse el multiplicador corrido n bits.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 00000 00000000000 10110 11010110111 --------. 101101 011011 ------ 101101 101101 ------- 10000111 000000 -------- 10000111 101101 --------- 111101111 101101 ---------- 10010111111 000000 ----------- 010010111111 100101 Corrección sumando el complemento ------------ 110111111111 Da negativo con bit de signo y complemento Sergio E. teniendo en cuenta que los cálculos realizados son: Al resultado correcto le sobra el multiplicador corrido n bits.

esto es. para n = 16. el número positivo 950310 se representa igual que en Signo Magnitud o que en Binario Puro: Por tanto. n = 6. Ejemplo: En Complemento a 1. Por ejemplo: Si N = 10110101101010101110 su complemento a uno es: El complemento a uno también se puede definir como una unidad menor que su complemento a dos. El complemento a uno de un número binario N se obtiene al cambiar cada uno de sus elementos por su complementario. exclusivamente. se pueden representar 216 .1 .1 . por la misma razón.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La aritmética en Ca1 permite la realización de sumas y restas utilizando. expresado en binario (101101). el rango de representación es: Así pues. 11111000b -> -7 decimal Ejemplo: En Complemento a 1. este sería 10000001. su complemento a uno es una unidad más pequeño: 010011 -000001 ------- 010010 En Complemento a 1. es decir: y. que lo que hemos hecho es darle la vuelta a las 7 últimas cifras del número).1 = 65535 números enteros.196 - . tiene 6 dígitos: N = 45. un sumador binario. El resultado correcto de la operación aritmética se obtiene despreciando el carry de salida que se utiliza para sumar una unidad al resultado. Por ejemplo. es decir. el rango de representación es el mismo que en Signo Magnitud: Otro ejemplo de esta representación: 01101010b -> 106 decimal 11111110b -> -1 decimal (si comparamos con el signo/magnitud.10010100011111 = = 1101101011100000C1 Sergio E. calculemos el complemento a 1 del número 45 que. para n = 16. del número 100101000111112: C1(N) = C1(10010100011111) = = 2n . el número -950310 se escribe calculando el Complemento a la Base Menos 1 del número 950310 escrito en base 2. para n = 16. Ávila P. . que van desde el -3276710 hasta el 3276710. 950310 = 0010010100011111C1 = 0010010100011111SM = 0010010100011111BP Ejemplo: En Complemento a 1. 26 = 64 su complemento a dos es: y. es decir.N = = 216 . cambiar los unos por ceros y los ceros por unos.10010100011111 = = 10000000000000000 .1 .

A continuación se dan ejemplos de sumas en complemento a uno. fuera del MSB. la suma de un número y de su complemento produce el 0 negativo. Magnitud con (igual signo) Se suman las Cambie el signo Cambie el bit de signo signo magnitudes. De hecho. si ocurre un préstamo fuera del MSB.198 - . Resumen de las reglas de suma y resta para números binarios. Siguiendo la regla anterior de la suma de dos pasos. La tabla resume las reglas que presentamos en esta y las secciones previas para la negación. Ejemplos de suma en complemento a uno Tabla 2-7. Esta regla a menudo se conoce como carry en redondo. Ávila P. rango. .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El conteo hecho más allá de 11112 durante una suma puede detectarse al observar el carry fuera de la posición del signo. el resultado tiene el signo de la magnitud mayor. los últimos tres incluyen carry en redondo. Las reglas de desborde para la suma y resta en complemento a uno son las mismas que las de complemento a dos. si ocurre un carry como en la suma. si hay un carry fuera de la posición del signo. El N/A Se resta el sustraendo signo resultado esta fuera de rango. Al igual que con el complemento a dos. (signo opuesto) Se resta la magnitud más pequeña a la mayor. º Complemento a Se suma e ignora cualquier Se complementan Se complementan todos dos carry fuera del MSB. Figura 2-7. El si ocurre un carry fuera del resultado está fuera de MSB. se se suman al minuendo entrante y saliente al MSB suma 1 al con un carry inicial son diferentes resultado Sergio E. Por lo que la regla para sumar número en complemento a uno puede establecerse fácilmente: Hágase una suma binaria normal. del minuendo. una operación de suma que use esta regla nunca puede producir un cero positivo a menos que ambos sumandos sean el cero positivo. ocurre un de bit del sustraendo y proceda desborde. el resultado tiene el mismo signo. la forma más fácil de hacer la resta en complemento a uno es complementar el sustraendo y sumar. Sistema de Reglas de suma Reglas de Reglas de resta negación Números Sin Se suman los números. un desborde es imposible. súmese 1 al resultado. El todos los bits del los bits del sustraendo y desborde ocurre si los carrys sustraendo. suma y resta en sistemas de números binarios.

en un primer paso se calcula el Complemento a 1 de dicho número: y. en codificación binaria. sumarle 1.N = NC2 El rango de representación en Complemento a 2 es: Figura. en un segundo paso. Complemento a 2 El algoritmo de representación binaria de complemento a 2. el número -950310 se escribe calculando el Complemento a la Base del número 950310 representado en base 2. ese -X. se expresa del siguiente modo: Cb(N) = bn . para n = 16. En este sistema de representación. El porqué de esta representación es sencillo y tiene que ver con los motivos que nos llevan a rechazar los dos anteriores como menos válidos. Se representará el negativo de un número. Ejemplo: En Complemento a 2. este es el único sistema en el que si se suman un número y su opuesto se obtiene 0. Por tanto.N = = 216 .199 - . Signo Magnitud o Binario Puro: 950310 = 0010010100011111C2 = 0010010100011111C1 = = 0010010100011111SM = 0010010100011111BP Ejemplo: En Complemento a 2. invirtiendo todos los bits que lo forman excepto el primero que marca signo. lo cual le da gran consistencia aritmética. el Complemento a 2. -950310 = 1101101011100001C2 Fíjese que.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Complemento a Se suma y si hay un carry Se complementan Se complementan todos uno fuera del MSB.10010100011111 = = 10000000000000000 .10010100011111 = = 1101101011100001C2 En consecuencia.N Siendo n el número de cifras empleadas en la representación del número. después. Rango de representación en Complemento a 2. el Complemento a la Base de un número entero positivo N de base b. dado el número: para calcular el Complemento a 2. consiste en una mejora del complemento a 1. el número positivo 950310 se representa igual que en Complemento a 1. para n = 16. el Complemento a 2 de un número entero positivo (N) escrito en binario es el resultado de cambiar todos los bits de valor (ceros por unos y unos por ceros). del número 100101000111112: C2(N) = C2(10010100011111) = = 2n . sumándole 1 (restando 1 en otro caso). para n = 16. Sin embargo. y en caso de hacerlo de positivo a negativo. el rango de representación es: Ejemplo: En Complemento a 2. se le suma 1 al número obtenido en Complemento a 1: Sergio E. . los números positivos se expresan igual que en Complemento a 1. Ávila P. fácilmente. obteniendo así el Complemento a 1 del número y. Signo Magnitud o Binario Puro. Formalmente. en tan solo dos pasos se puede calcular. el Complemento a 2 (C2) de un número entero positivo (N) se puede expresar como: C2(N) = 2n . Hay desborde si sustraendo se procede como en la los carrys entrante y saliente suma. Por ejemplo. se suma 1 al todos los bits del los bits del sustraendo y resultado. C2(N) = C1(N) + 1 = NC1 + 1 = NC2 De esta manera. al MSB son diferentes. es decir. para escribir los números negativos se utiliza el Complemento a la Base.

Sin embargo. el resultado es 11111111b y no 00000000b (podríamos considerar todo 1s como otra forma del 0. ignorando los carrys más allá del MSB. siempre que no se exceda el rango del sistema numérico.200 - . 0000 -7 1001 1000 1111 0001 -6 1010 1001 1110 0010 -5 1011 1010 1101 0011 -4 1100 1011 1100 0100 -3 1101 1100 1011 0101 -2 1110 1101 1010 0110 -1 1111 1110 1001 0111 0 0000 1111 o 0000 1000 o 1000 0000 1 0001 0001 0001 1001 2 0010 0010 0010 1010 3 0011 0011 0011 1011 4 0100 0100 0100 1100 5 0101 0101 0101 1101 6 0110 0110 0110 1110 Sergio E. se tiene que utilizar la fórmula: Fórmula para calcular. si se pretende calcular el valor en base 10 de un número entero positivo (N) escrito Complemento a 2. si sumamos 11111111b (-1) y 00000001b (1). pero tener dos representaciones del 0 sigue siendo aritméticamente un problema). Si se comienza con 1000 2 (-810) y se sigue contando. se puede usar la misma fórmula que en Signo Magnitud o que en Binario Puro. No puede decirse lo mismo de los números en magnitud y signo y de los en complemento a uno. lo que buscábamos. Ávila P. el resultado es 00000000b. puede obtenerse al sumar 1 al número previo. el valor de un número entero negativo escrito en Complemento a 2. El resultado en todos los casos será la suma correcta.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El resultado es el esperado: Por otro lado. . En caso contrario. vemos que cada número sucesivo en complemento a dos hasta 0111 2 (+710 ). Decimales y números de 4 bits Decimal Complemento a Complemento a Magnitud Exceso2m-1 dos uno y signo -8 1000 . se debe emplear la fórmula anterior. los números en complemento a dos pueden sumarse mediante la suma binaria ordinaria. Un número (N) representado en Complemento a 2 es positivo si el bit más significativo es cero. y para calcular su valor en base 10. en complemento a 2. SUMA Y RESTA EN COMPLEMENTO A-2 REGLAS DE LA SUMA Una tabla de números decimales y sus equivalentes en diferentes sistemas de números (Tabla 2-5) revela por qué se prefiere el complemento a dos para operaciones aritméticas. el número será negativo. Ejemplo: Para calcular el valor en base 10 del número 1001000000000110C2. ignorando los carrys más allá de la cuarta posición. en base 10. Algunos ejemplos de suma decimal y las correspondientes sumas en complemento a dos de números de 4 bits confirman esto: Tabla 2-5. De tal forma que: 1001000000000110C2 = ( (-1∙215) + (1∙212 + 1∙22 + 1∙21) )10 = ( (-32768) + (4102) )10 = -2866610 En el caso de complemento a 1. . si sumásemos 11111110b (-1) y 00000001b (1). Debido a que la suma ordinaria es sólo una extensión del conteo.

B<0 Chequear para no exceder el formato de 16 bits y el 17vo bit no se toma en cuenta. para ser completos. también se describe el complemento a la base disminuida y los sistemas en complemento a 1. B<0 A-B 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. A-B 1 0 Positivo en binario normal El 17vo bit no se toma en cuenta para el resultado. Sin embargo. El resultado puede presentar varias formas que se determinan aplicando los mismos casos de la suma en formato de 16 bits. 3. A<0. B>0 1 Chequear para no exceder el formato de 16 bits y el 17vo bit no se toma en cuenta. Ávila P. A-B 0 1 Negativo en complemento a Complementar los 16 bits para obtener el verdadero valor o Sergio E. Tabla 1. . A>0. utilizando el formato de 16 bits. Operación Acarreo Acarreo Resultado Observaciones 16vo bit 17vo bit A+B 0 0 Positivo en binario normal Chequear para no exceder el formato de 16 bits. B>0 (**) A+B 1 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. B>0 A<B A-B 0 0 Positivo en binario normal Chequear para no exceder el formato de 16 bits.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES digitales usan el sistema de complemento a dos para representar números negativos. Resumen de las operaciones suma y resta binaria con los datos A y B. Resta de dos números negativos y de distinto signo. A>0. A>0. B>0 A+B 0 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. B<0 (**) A+B 1 0 Positivo en binario normal El 17vo bit no se toma en cuenta para el resultado. A<0. B>0 A>=B A-B 0 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. A>0. A>0.204 - . A<0.

M=+(0. Formatos comunes para números representados en coma flotante.111010101)2 E=-410=-(100)2. restar.7 y luego el exponente E con exceso. En este caso hay que sumarle al exponente un exceso de 1610. M=+(0. efectiva y eficientemente. sin embargo.1.1101 2 b) 0. Otras operaciones diferentes a la suma se consiguen mediante un conjunto de sumas: La resta de dos valores se consigue sumando a uno de los valores el complemento del otro.5.E= 11002+10002 = 01002 La solución final queda de la siguiente forma: bs Exponente E Mantisa M 0 0100 111010101 Al contrario de una primera idea sugerida por su nombre.1.208 - . Las operaciones de sumar. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. si el bit de signo es positivo entonces E'=01002.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 754-1985 Precisión sencilla 32 24 8 128 Doble Precisión 64 53 11 1024 IBM 360 Precisión sencilla 32 24 7 64 Doble precisión 64 56 7 64 DEC VAX 11/780 Formato F 32 24 8 128 Formato D 64 56 8 128 Formato G 64 53 11 1024 Tabla 1. Ejemplo: Escribir en formato de coma flotante los números: a) 11011101. .7 y luego el exponente E con exceso. si el bit de signo es negativo entonces E'=1100 2.1101110111010)2 E=+810=+(1000)2. pueden ser resueltos. En este caso hay que sumarle al exponente un exceso de 810. multiplicar y dividir en el sistema binario se hacen de igual forma que en decimal. veremos que la lógica difusa es un área de cálculo preciso. de deducción y de inferencia. es normal que la electrónica interna de las máquinas digitales solo tenga capacidad para sumar.00001110101012 Solución (a): Se debe llevar a la forma .E= 010002+100002 = 110002 La solución final queda de la siguiente forma: bs Exponente E Mantisa M 0 11000 1101110111010 Solución (b): Se debe llevar a la forma . Ambos problemas. primero hay que hallar la mantisa con la Ec. Ávila P. primero hay que hallar la mantisa con la Ec. es un truco muy ingenioso que Sergio E.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

b) El resultado no es un número BCD

c) El resultado es un número BCD y se genera arrastre

Los casos b) y c) pueden resolverse si se le suma la maginitud 0110 (6) al resultado obtenido por el sumador
binario.
En la siguiente figura se representa el sumador BCD

UNIDAD ARITMÉTICO LÓGICA (ALU)

Una ALU de n bits es un dispositivo combinacional que acepta dos palabras de entrada A y B, de n bits cada
una y genera un resultado de n bits (además de cierta información como acarreo, overflow, etc.) procedente de
la realización de alguna operación aritmética o lógica identificada por unas señales se selección.

El diseño de una ALU se realiza en tres etapas: diseño del circuito aritmético, diseño del circuito lógico y
unión de las partes anteriores.

1 Diseño del circuito aritmético
El componente básico del circuito aritmético de una ALU de n bits es un sumador paralelo de n bits. Si se
controlan las entradas de dicho sumador, su salida puede generar distintas funciones aritméticas:

a) Si las entradas del sumador son A y (Todo 0’s) ( En este caso, tampoco se utiliza el número B de entrada de
la ALU), se pueden obtener funciones de transferencia (F=A si Cin =0) o de incremento (F=A+1 si Cin =1).

Sergio E. Ávila P. - 216 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

b) Si las entradas del sumador son A y B (los números de entrada de la ALU), se pueden obtener funciones de
suma F= A+B (si Cin =0) o F=A+B+1 (si Cin =1).

c) Si las entradas del sumador son A y B’ (se complementan los bits del número B de entrada de la ALU), se
pueden obtener operaciones de resta en Ca1 – F=A+B’ si Cin =0- o de resta en Ca2 – F= A+b’+1 si Cin =1.

d) Si las entradas del sumador son A y (Todo 1’s) ( En este caso no se utiliza el número B de entrada de la
ALU), se pueden obtener funciones de transferencia (F=A si Cin =1) o de decremento (F=A-1 si Cin =0).

Se debe diseñar un circuito combinacional que, en función de S1 y S0, permita seleccionar la entrada B del
sumador completo y, por tanto, la operación aritmética. Se considera que el sumador completo dispone de dos
entradas (X e Y). La entrada X se conecta al número A, o lo que es lo mismo, Xi = Ai, mientras que la entrada
Y se conecta al circuito cuyas salidas, para cada bit, se representa en la siguiente tabla de verdad

Por tanto, la salida será
Yi = Bi S1’ S0 + Bi’ S1 S0‘+ S1 S0 = Bi S0 + Bi’S1

Sergio E. Ávila P. - 217 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

El circuito aritmético es, por tanto, el siguiente:

El acarreo de salida nos puede dar una información muy importante:
Diseño del circuito lógico
Supongamos que las operaciones lógicas a realizar son: A AND B, A OR B,A EXOR B y NOT A, donde A y
B son las palabras de entrada en la ALU. (Se entiende que A AND B – o cualquier otra operación lógica-
genera un resultado F, donde cada bit, Fi =Ai AND Bi )

El circuito que permite calcular la operación lógica aparece en la siguiente figura.

Para formar la ALU se han de unir las dos secciones que la forman. Las variables S1 S0 serán comunes para
las dos secciones siempre que S2 distinga entre una etapa y otra. La siguiente figura representa una posible
solución para la etapa i de una ALU.

2 Diseño del circuito lógico

Sergio E. Ávila P. - 218 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Supongamos que las operaciones lógicas a realizar son: A AND B, A OR B,A EXOR B y NOT A, donde A y
B son las palabras de entrada en la ALU. (Se entiende que A AND B – o cualquier otra operación lógica-
genera un resultado F, donde cada bit, Fi =Ai AND Bi ) La configuración mas sencilla consiste en un
acumulador de 2n bits, separado en dos registros de n bits. El de la izquierda contiene cero en todos sus bits al
comenzar y en el se almacenan las sumas parciales; el de la derecha al comenzar contiene el multiplicador y la
unidad puede detectar si el último bit vale 0 o 1.
Luego de cada suma se corre el acumulador un lugar a la derecha, ingresando el bit de carry. De esta forma los
sucesivos bits del multiplicador estan ubicados en el último bit del registro y eso le permite a la unidad decidir
si sumar el multiplicando o cero. De esta forma la unidad pierde el valor del multiplicador y al final el
resultado esta en los 2n bits del acumulador.
El circuito que permite calcular la operación lógica aparece en la siguiente figura.

3 Unión de la seccióna aritmética y lógica

Para formar la ALU se han de unir las dos secciones que la forman. Las variables S1 S0 serán comunes para
las dos secciones siempre que S2 distinga entre una etapa y otra. La siguiente figura representa una posible
solución para la etapa i de una ALU.

OTROS CODIGOS BINARIOS

CODIGO BINARIO BCD

El BCD (el binario decimal codificado) es una forma directa asignada a un equivalente binario. Es posible
asignar cargas a los bits binarios de acuerdo a sus posiciones. Las cargas en el código BCD son 8, 4, 2, 1.

Ejemplo:

Para representar el digito decimal 6 en código BCD sería:.

0110

Ya que 0 x 8 + 1 x 4 + 1 x 2 ÷ 0+1 = 6.

Sergio E. Ávila P. - 219 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Es posible asignar cargas negativas a un código decimal, tal como se muestra en el código 8, 4, -2, -1. En esta
caso la combinación de bits 0110 se interpreta como el digito decimal 2, l obtenerse de 0 x 8 + 1 x 4 + 1 x (-2)
+ 0 x (-1)=2.

Un código decimal que se ha usado en algunos computadores viejos en el código de exceso a 3. Este último es
un código sin carga, cuya asignación se obtiene del correspondiente valor en BCD una vez se haya sumado 3.
Los números se representan en computadores digitales en binario o decimal a través de un codigo binario.
Cuando se estén especificando los datos, el usuario gusta dar los datos en forma decimal. Las maneras
decimales recibidas se almacenan internamente en el computador por medio del código decimal. Cada digito
decimal requiere por lo menos cuatro elementos de almacenamiento binario. Los números decimales ses
convierten a binarios cuando las operaciones aritméticas se hacen internamente con números representados en
binario. Es posible también realizar operaciones aritméticas directamente en decimal con todos los números ya
dejados en forma codificada. Por ejemplo, el número decimal 395, cuando se convierte aq binario es igual a
112221211 y consiste en nueve digitos binarios. El mismo número representado alternamente en BCD, ocupa
cuatro bits para cada digito decimal para un total de 12 bits:001110010101.

Decimal Binario BCD

395 112221211 001110010101.

En el código BCD: los cuatro primeros bits representan el 3.Los siguientes cuatro representan el 9 y los
últimos cuatro el 5.

Es muy importante comprender la diferencia entre conversión de un número decimal binario y la codificación
binaria de un número decimal. En cada caso el resultado final es una seria de bits. Los bits obtenidos de la
conversión son dígitos binarios. Los bits obtenidos de la codificación son combinaciones de unos ceros
arregladas de acuerdo a las reglas del código usado. Por tanto es extremadamente importante tener en cuenta
que una serie de unos y ceros en un sistema digital puede algunas veces representar un número binario y otras
veces representar alguna otras cantidad discreta de información como se especifica en un código binario dado.

El código BCD por ejemplo, ha sido escogido de tal manera que es un código y una conversión binaria directa
siempre y cuando los números decimales sean algún entero entre 0 y 9. Para números mayores que 9, la
conversión y la codificación son completamente diferentes. Este concepto es tan importante que vale la pena
repetirlo usando otro ejemplo: la conversión binaria del decimal 13 es 1101; la codificación decimal 13 con
BCD es 00010011.

Decimal Conversión Binaria Codificación BCD

13 1101 00010011

El código BCD es uno de los más utilizados. Los otros códigos de cuatro bits tienen una característica en
común que no se encuentra en BCD. El exceso a 3, el 2, 4, 2, 1 y el 8, 4, -2, -1, son códigos
autocomplementarios, esto es que el complemento a 9 del número decimal se obtiene fácilmente cambiando
los más por ceros y los ceros por más. Esta propiedad es muy útil cuando se hacen las operaciones aritméticas
internamente con números decimales (en código binario) y la sustracción se hace por medio del complemento
de 9.

El código biguinario mostrado a continuación es un ejemplo de un código de siete digitos con propiedades de
detección de error. Cada dígito decimal consiste de 5 ceros y 2 unos colocados en las correspondientes
columnas de carga.

La propiedad de detección de error de este código puede comprenderse si uno se da cuenta de que los sistemas
digitales representan el binario 1 mediante una señal específica uno y el binario cero por otra segunda señal
específica. Durante la trasmisión de señales de un lugar a otro puede presentarse un error. Uno o más bits
pueden cambiar de valor. Un circuito en el lado de recepción puede detectar la presencia de más (o menos) de
dos unos y en el caso de que la combinación permitida, se detectará un error.

Binary-coded decimal (BCD8421) es un sistema numérico usado en sistemas computacionales y electrónicos
para codificar números enteros positivos y facilitar las operaciones aritméticas. Es un código pesado debido a
que representa los dígitos con un orden específico (8421).

Sergio E. Ávila P. - 220 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Fundamentos

En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en
cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el
número más alto que se puede representar BCD). En la siguiente tabla se muestran los códigos BCD más
Decimal Natural Aiken 5 4 2 1 Exceso 3

0 0000 0000 0000 0011

1 0001 0001 0001 0100

2 0010 0010 0010 0101

3 0011 0011 0011 0110

4 0100 0100 0100 0111

5 0101 1011 1000 1000

6 0110 1100 1001 1001

7 0111 1101 1010 1010

8 1000 1110 1011 1011

9 1001 1111 1100 1100

Como se observa con el BCD sólo se utilizan 10 de las 16 posibles combinaciones que se pueden formar con
números de 4 bits, por lo que el sistema pierde capacidad de representación, aunque se facilita la compresión
de los números. Esto es porque el BCD solo se usa para representar cifras no números en su totalidad. Esto
quiere decir que para números de más de una cifra hacen falta dos números BCD para componerlo. A primera
vista esto puede parecer más engorroso pero en realidad de cara al cálculo y la programación de sistemas
digitales es sumamente práctico ya que permite trabajar de hecho con números decimales ordinarios haciendo
uso solo de los dos bits posibles que otorga un circuito digital típico ON (1) / OFF (0). Algo que como se verá
resulta muy útil.

Desde que los sistemas informáticos empezaron a almacenar los datos en conjuntos de ocho bits (octeto), hay
dos maneras comunes de almacenar los datos BCD:
Omisión de los cuatro bits más significativos(como sucede en el EBCDIC)
Almacenamiento de dos datos BCD, es el denominado BCD "empaquetado", en el que también se
incluye en primer lugar el signo, por lo general con 1100 para el + y 1101 para el -.

De este modo, el número 127 sería representado como (11110001, 11110010, 11110111) en el EBCDIC o
(00010010, 01111100) en el BCD empaquetado.

El BCD sigue siendo ampliamente utilizado para almacenar datos, en aritmética binaria o en electrónica. Los
números se pueden mostrar fácilmente en visualizadores de siete segmentos enviando cada cuarteto BCD a un
visualizador. La BIOS de un ordenador personal almacena generalmente la fecha y la hora en formato del
BCD, probablemente por razones históricas se evitó la necesidad de su conversión en ASCII.
La ventaja del código BCD frente a la representación binaria clásica es que no hay límite para el tamaño de un
número. Los números que se representan en formato binario están generalmente limitados por el número
mayor que se pueda representar con 8, 16, 32 o 64 bits. Por el contrario utilizando BCD añadir un nuevo
dígito sólo implica añadir una nueva secuencia de 4 bits.
El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico, especialmente en

Sergio E. Ávila P. - 221 -

es decir. Decimal BCD natural BCD Aiken 8421 2421 0 0000 0000 1 0001 0001 2 0010 0010 Sergio E. la solución al problema consiste en volver a transmitir hasta que el error no se produzca. La detección de errores considera que el receptor es capaz de detectar que se ha producido un error de transmisión. Ávila P. las combinaciones son 0 y 1.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES las combinaciones como si fueran vistas con un espejo (lineas de trazos): Para una sola señal. Sus pesos son 2-4-2-1.229 - . . Tabla del código BCD de intercambio normalizado 7 bits CODIGO BCD AIKEN Los códigos pueden ser de tipo ponderado o no. Cuando el sistema detecta un error. Continuando con este proceso se llegará al número de señales que sean necesarias. En los códigos ponderados el número decimal equivalente se obtiene mediante la suma de los pesos de los dígitos binarios que forman el código. pero no es capaz de saber que dígito binario es el que está errado. a través de la detección no se puede conocer la posición del error. Una vez reflejado se añadirá una nueva columna a la izquierda en la que la mitad superior serán ceros y la inferior unos.

7(10) = 0 1 1 1 (BCD8421) 4 bits de datos implican 3 bits de redundancia 1357 (P1 . 12. 9. Si se quiere corregir un error. 15. 1 2 3 4 5 6 7 8 9 10 11 P1 P2 D3 P4 D5 D6 D7 P8 D9 D10 D11 Cada bit de validación Pi debe producir paridad par (o impar) en determinadas posiciones según la siguiente tabla: P1: 1. 0 . 12. 1 . 10. es necesario identificarla posición del error.. 9. P4: 4. Luego debe cumplirse que 2k -1 ³ n = m + k k: Bits de corrección. 6. Para poder detectar o corregir errores es necesario introducir bits redundantes.. 5. 15. 13. 11. 13. P8: 8. 17. 11.. 6. m: bits de datos en el código.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Código Hamming. 15.. 13. 14. n: Bits totales del código. Hamming propuso ubicar los bits redundantes o de validación en posiciones potencias de 2 y en las restantes posiciones ubicar los datos. 11. . 7. 7. “m” bits de datos y “k” dígitos de redundancia se cumple que: n=m+k Con “k” bits de redundancia se pueden direccionar 2k –1 posiciones. 3. .235 - . 7. . 18. ... 10.. P2: 2. En una palabra de “n” bits. Ávila P. Bits P de validación Bits D de datos. . 20.. utilizando para verificación paridad par. 24. 3. 5. Ejemplo: Codificar en Hamming el equivalente a 7 decimal en BCD 8421. 1 ) => P1 = 0 2367 Sergio E. 14. 14.

.237 - . Existen muchas versiones del código Gray. Numerosos sensores son de tipo analógico porque transmiten una señal eléctrica variable y dependiente de la magnitud que miden. consistente en una hélice que gira más deprisa cuanto mayor sea el caudal. a pesar de que los problemas de ruido y potencia se hayan reducido. Número 1 1 0 1 01 Rango 6 5 4 3 21 Sergio E. eliminando conversores analógico-digitales aunque añadiendo generalmente un dispositivo electrónico que interpreta la información. en función del orden que se desee seguir). hay magnitudes que pueden ser medidas con procedimientos puramente digitales.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. siendo n el rango de la cifra contada de de + (2n derecha a izquierda. Sin embargo.. el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh. de cada número al siguiente sólo varia un bit cada vez. pero el más usado consiste en cambiar el bit menos significativo que genera un nuevo código. pero todas tienen una características básica en común. Obtención de un número decimal en código Gray Cada término Gray tiene una ponderación )1. Ávila P. ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente. En la actualidad. Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles resultantes. Un sensor detecta el paso de las palas de la hélice y transmite impulsos que son contados por una tarjeta electrónica que a su vez envía el valor de la cuenta al controlador digital. Un ejemplo puede ser con medida de caudales de fluidos.

La más famosa alternativa es el llamado Código Binario Gray que enumera todas las 2nc cadenas de n bits de tal manera que un solo bit cambie entre cualesquiera dos cadenas contiguas Por ejemplo. una solución absurdamente sencilla consiste en comenzar con el número binario _0.11_2 = 2n-1. N=54 63 -15 +7 -1 = 54 1 0 1 1 0 1 Consideremos el problema de obtener todas las 2n cadenas que consisten de n dígitos binarios. Sin embargo hay situaciones en que preferiríamos visitar dichas 2ncadenas en un orden distinto.238 - . .00_2 = 0 y sumar 1 repetidamente hasta llegar a _1. . Tenemos que buscar los diferentes pesos en código Gray que sumados algebraicamente obtengamos el número decimal. a continuación tomaremos un peso Gray negativo de forma que la suma algebraica nos dé el número más próximo a N por debajo de éste. Ávila P. el código binario Gray para n = 4 es: Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Peso 63 31 15 7 31 Signo + -+ - 63-31+7-1=38 en decimal Codificación en GRAY de un número decimal. Rango 9 8 7 6 5 4 3 2 1 Peso 511 255 127 63 31 15 7 3 1 Tomaremos con signo positivo el peso Gray inmediatamente superior al buscado. .

en el código de gray. En la tabla anterior se presentan los códigos de gray y binario natural para los números del 0 hasta el 15.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Programación Si representamos el conjunto de cadenas binarias como una lista compuesta a su vez por 2n listas. cada código de gray corresponde a un mismo número decimal. Si lo ponemos en forma de matriz para hacerlo más legible: CÓDIGO DE GRAY (REFLEJADO).- Es un código binario en el que la posición del bit no tiene significación numérica (ponderación). la transición de un código al siguiente implica el cambio de un solo dígito a la vez. podemos definir las siguientes dos funciones que corresponden a las reglas en (1): Las lógicas difusas tratan de crear aproximaciones matemáticas en la resolución de ciertos tipos de problemas. sin embargo. después se hace una comparación entre los dos códigos para determinar las relaciones que permitan convertir el uno en el otro y viceversa. cuando el valor de un número cambia. puede decirse Sergio E. por observación de la tabla. Fácilmente se lo puede transformar a su equivalente binario. y en donde cada elemento de las segundas es un dígito. . por lo cual son particularmente útiles en aplicaciones electrónicas o computacionales. Ávila P.242 - . Como puede verse en esta tabla. Pretenden producir resultados exactos a partir de datos imprecisos.

(J-R). Los caracteres 0x00–0x3F y 0xFF son de control. IBM adaptó el EBCDIC del código de tarjetas perforadas en los años 1960 y lo promulgó como una táctica customer-control cambiando el código estándar ASCII. A-11000001 B-11000010 C-11000011 D-11000100 E-11000101 F-11000110 G-11000111 H-11001000 I-11001001 J-11010001 K-11010010 Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES CODIGO EBCDIC EBCDIC (Extended Binary Coded Decimal Interchange Code) es un código estándar de 8 bits usado por computadoras mainframe IBM. EBCDIC es un código binario que representa caracteres alfanuméricos.246 - . Existen muchas versiones ("codepages") de EBCDIC con caracteres diferentes. (S-Z) y en las primeras cuatro posiciones se identifica el grupo al cual pertenece la letra y en las restantes cuatro posiciones el dígito correspondiente a la posición de la letra en el grupo./ ÂÄÀ ÁÃ ÅÇ Ñ¦ . 0x41 es no-saltar página y 0xCA es un guión suave. Ávila P. respectivamente sucesiones diferentes de los mismos caracteres. ^ 60 . < ( + ! 50 &é ê ë è í î ï ì ß ] \$ * ) . por eso EBCDIC define un total de 256 caracteres. 0x40 es un espacio. 0 1 2 3 4 5 6 7 8 9 ABC DE F 40 â ä à á ã å ç ñ [ . una variante de EBCDIC. Cada carácter está compuesto por 8 bits = 1 byte. . Letras mayúsculas de la A a la Z: se dividen en tres grupos (A-I). Por ejemplo al menos hay 9 versiones nacionales de EBCDIC con Latín 1 caracteres con sucesiones diferentes. controles y signos de puntuación.0 1 0 0 0 0 0 0. % _ > ? 70 ø É Ê Ë È Í Î Ï Ì ` : # @' = " 80 Øa b c d e f g h i « » ð ý þ ± 90 ° j k l m n o p q r ª º æ ¸ Æ¤ A0 µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ® B0 ¢ £ ¥ · © § ¶ ¼ ½ ¾ ¬ | ¯ ¨ ´ × C0 { A B C D E F G H I ô ö ò ó õ D0 } J K L M N O P Q R ¹ û ü ù ú ÿ E0 \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ F0 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú Clave EBCDIC Espacio en blanco . El siguiente es el código CCSID 500.

Se utiliza en España y los países de América Latina. ¬ 5_ ( 5 hex = 0101 bin ) 6_ .247 - . 0-11110000 1-11110001 2-11110010 3-11110011 4-11110100 5-11110101 6-11110110 7-11110111 8-11111000 9-11111001 EBCDIC 284 Codepage 284 es un EBCDIC-codepage con Latín-1-charset completo. . < ( + 4_ ( 4 hex = 0100 bin ) 5_ & é ê ë è í î ï ì ß ] \$ * ) . codepage 284 América Latina./ Â Ä À Á Ã Å Ç # ñ . Ávila P.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES L-11010011 M-11010100 N-11010101 O-11010110 P-11010111 Q-11011000 R-11011001 S-11100010 T-11100011 U-11100100 V-11100101 W-11100110 X-11100111 Y-11111000 Z-11111001 La letra Ñ se representa 0 1 1 0 1 0 0 1 Los dígitos del cero (0) al nueve (9): se identifican con un uno en las primeras cuatro posiciones y en las restantes cuatro posiciones el dígito en binario. España 0 1 2 3 4 5 6 7 8 9 A B C D E F 4_ â ä à á ã å ç ¦ [ . % _ > ? 6_ ( 6 hex = 0110 bin ) 7_ ø É Ê Ë È Í Î Ï Ì ` : Ñ @ ' = " 7_ ( 7 hex = 0111 bin ) 8_ Ø a b c d e f g h i « » ð ý þ ± 8_ ( 8 hex = 1000 bin ) 9_ ° j k l m n o p q r ª º æ ¸ Æ ¤ 9_ ( 9 hex = 1001 bin ) A_ µ ¨ s t u v w x y z ¡ ¿ Ð Ý Þ ® A_ ( A hex = 1010 bin ) B_ ¢ £ ¥ · © § ¶ ¼ ½ ¾ ^ ! ¯ ~ ´ × B_ ( B hex = 1011 bin ) C_ { A B C D E F G H I ô ö ò ó õ C_ ( C hex = 1100 bin ) D_ } J K L M N O P Q R ¹ û ü ù ú ÿ D_ ( D hex = 1101 bin ) E_ \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ E_ ( E hex = 1110 bin ) F_ 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú F_ ( F hex = 1111 bin ) 0 1 2 3 4 5 6 7 8 9 A B C D E F 40 : espacio Sergio E.

además de todo un complejo juego de comandos de control. Decimal Hexadecimal Character Decimal Hexadecimal Character 129 81 a 194 C2 B 130 82 b 195 C3 C 131 83 c 196 C4 D 132 84 d 197 C5 E 133 85 e 198 C6 F 134 86 f 199 C7 G 135 87 g 200 C8 H 136 88 h 201 C9 I 137 89 i 209 D1 J 145 91 j 210 D2 K 146 92 k 211 D3 L 147 93 l 212 D4 M 148 94 m 213 D5 N 149 95 n 214 D6 O 150 96 o 215 D7 P 151 97 p 216 D8 Q 152 98 q 217 D9 R 153 99 r 226 E2 S 162 A2 s 227 E3 T 163 A3 t 228 E4 U 164 A4 u 229 E5 V 165 A5 v 230 E6 W 166 A6 w 231 E7 X 167 A7 x 232 E8 Y 168 A8 y 233 E9 Z 169 A9 z 64 40 blank 240 F0 0 75 4B .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 41 : espacio no-frágil CA : guión suave/corto FF : carácter de control ( EBCDIC ) 9F : carácter de euro € ( EBCDIC . contienen mas signos de puntuación que el código Baudot. diferencia las letras mayúsculas de las minúsculas. Ávila P. 241 F1 1 76 4C < 242 F2 2 77 4D ( 243 F3 3 78 4E + 244 F4 4 79 4F | 245 F5 5 80 50 & 246 F6 6 90 5A ! 247 F7 7 91 5B \$ 248 F8 8 92 5C * Sergio E. . utilizado por los ordenadores de IBM de los de la serie IBM PC (miniordenadores y mainframes).248 - .1145) El código EBCDIC (Extended Binary Coded Decimal Interchange Code). En este caso se utilizan 8 bits para representar cada símbolo.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

mediante la perforación de todos los agujeros posibles de una posición de carácter concreta, reemplazando
cualquier información previa. Dado que el código 0 era ignorado, fue posible dejar huecos (regiones de
agujeros) y más tarde hacer correcciones.

Muchos de los caracteres de control ASCII servían para marcar paquetes de datos, o para controlar protocolos
de transmisión de datos (por ejemplo ENQuiry, con el significado: ¿hay alguna estación por ahí?,
ACKnowledge: recibido o "acuse de recibo", Negative AcKnowledge: No recibido, Start Of Header: inicio de
cabecera, Start of TeXt: inicio de texto, End of TeXt: final de texto, etc.). ESCape y SUBstitute permitían a un
protocolo de comunicaciones, por ejemplo, marcar datos binarios para que contuviesen códigos con el mismo
código que el carácter de protocolo, y que el receptor pudiese interpretarlos como datos en lugar de como
caracteres propios del protocolo.

Los diseñadores del código ASCII idearon los caracteres de separación para su uso en sistemas de cintas
magnéticas. Dos de los caracteres de control de dispositivos, comúnmente llamados XON y XOFF
generalmente ejercían funciones de caracteres de control de flujo para controlar el flujo a hacia un dispositivo
lento (como una impresora) desde un dispositivo rápido (como un ordenador), de forma que los datos no
saturasen la capacidad de recepción del dispositivo lento y se perdiesen.

Los primeros usuarios de ASCII adoptaron algunos de los códigos de control para representar
"metainformación" como final-de-línea, principio/final de un elemento de datos, etc. Estas asignaciones a
menudo entraban en conflicto, así que parte del esfuerzo de convertir datos de un formato a otro comporta
hacer las conversiones correctas de metainformación. Por ejemplo, el carácter que representa el final-de-línea
en ficheros de texto varía con el sistema operativo. Cuando se copian archivos de un sistema a otro, el sistema
de conversión debe reconocer estos caracteres como marcas de final-de-línea y actuar en consecuencia.

Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones como
"retorno de carro" o "nueva línea"). Los lenguajes modernos de etiquetas, los protocolos modernos de
comunicación, el paso de dispositivos basados en texto a basados en gráficos, el declive de las teleimpresoras,
las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayoría de caracteres de control.

Binario Decimal Hex Abreviatura Repr AT Nombre/Significado

0000 0000 0 00 NUL ␀ ^@ Carácter Nulo

0000 0001 1 01 SOH ␁ ^A Inicio de Encabezado

0000 0010 2 02 STX ␂ ^B Inicio de Texto

0000 0011 3 03 ETX ␃ ^C Fin de Texto

0000 0100 4 04 EOT ␄ ^D Fin de Transmisión

0000 0101 5 05 ENQ ␅ ^E Enquiry

0000 0110 6 06 ACK ␆ ^F Acknowledgement

0000 0111 7 07 BEL ␇ ^G Timbre

0000 1000 8 08 BS ␈ ^H Retroceso

0000 1001 9 09 HT ␉ ^I Tabulación horizontal

0000 1010 10 0A LF ␊ ^J Line feed

0000 1011 11 0B VT ␋ ^K Tabulación Vertical

Sergio E. Ávila P. - 252 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

0000 1100 12 0C FF ␌ ^L Form feed

0000 1101 13 0D CR ␍ ^M Carriage return

0000 1110 14 0E SO ␎ ^N Shift Out

0000 1111 15 0F SI ␏ ^O Shift In

0001 0000 16 10 DLE ␐ ^P Data Link Escape

Device Control 1 — oft.
0001 0001 17 11 DC1 ␑ ^Q
XON

0001 0010 18 12 DC2 ␒ ^R Device Control 2

Device Control 3 — oft.
0001 0011 19 13 DC3 ␓ ^S
XOFF

0001 0100 20 14 DC4 ␔ ^T Device Control 4

Negative
0001 0101 21 15 NAK ␕ ^U
Acknowledgement

0001 0110 22 16 SYN ␖ ^V Synchronous Idle

0001 0111 23 17 ETB ␗ ^W End of Trans. Block

0001 1000 24 18 CAN ␘ ^X Cancel

0001 1001 25 19 EM ␙ ^Y End of Medium

0001 1010 26 1A SUB ␚ ^Z Substitute

0001 1011 27 1B ESC ␛ ^[ or ESC Escape

0001 1100 28 1C FS ␜ ^\ File Separator

0001 1101 29 1D GS ␝ ^] Group Separator

0001 1110 30 1E RS ␞ ^^ Record Separator

0001 1111 31 1F US ␟ ^_ Unit Separator

^?, Delete, or
0111 1111 127 7F DEL ␡ Backspace
Delete

Otros nombres para ASCII

La RFC 1345 (publicada en junio de 1992) y el registro IANA de códigos de caracteres, reconocen los
siguientes nombres alternativos para ASCII para su uso en Internet.

ANSI_X3.4-1968 (nombre canónico)
ANSI_X3.4-1986

Sergio E. Ávila P. - 253 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

ASCII
US-ASCII (nombre MIME recomendado)
us
ISO646-US
ISO_646.irv:1991
iso-ir-6
IBM367
cp367
csASCII

De estos, sólo los nombres "US-ASCII" y "ASCII" se usan ampliamente. A menudo se encuentran en el
parámetro de "código de caracteres" opcional en la cabecera Content-Type de algunos mensajes MIME, en el
elemento equivalente "meta" de algunos documentos HTML, y en la parte de declaración de codificación de
carácter de la cabecera de algunos documentos XML.@

Variantes de ASCII

A medida que la tecnología informática se difundió a lo largo del mundo, se desarrollaron diferentes
estándares y las empresas desarrollaron muchas variaciones del código ASCII para facilitar la escritura de
lenguas diferentes al inglés que usaran alfabetos latinos. Se pueden encontrar algunas de esas variaciones
clasificadas como "ASCII Extendido", aunque en ocasiones el término se aplica erróneamente para cubrir
todas las variantes, incluso las que no preservan el conjunto de códigos de caracteres original ASCII de siete
bits.

La ISO 646 (1972), el primer intento de remediar el sesgo pro-inglés de la codificación de caracteres, creó
problemas de compatibilidad, pues también era un código de caracteres de 7 bits. No especificó códigos
adicionales, así que reasignó algunos específicamente para los nuevos lenguajes. De esta forma se volvió
imposible saber en qué variante se encontraba codificado el texto, y, consecuentemente, los procesadores de
texto podían tratar una sola variante.

La tecnología mejoró y aportó medios para representar la información codificada en el octavo bit de cada byte,
liberando este bit, lo que añadió otros 128 códigos de carácter adicionales que quedaron disponibles para
nuevas asignaciones. Por ejemplo, IBM desarrolló páginas de código de 8 bits, como la página de códigos
437, que reemplazaba los caracteres de control con símbolos gráficos como sonrisas, y asignó otros caracteres
gráficos adicionales a los 128 bytes superiores de la página de códigos. Algunos sistemas operativos como
DOS, podían trabajar con esas páginas de código, y los fabricantes de ordenadores personales incluyeron
soporte para dichas páginas en su hardware.

Los estándares de ocho bits como ISO 8859 y Mac OS Roman fueron desarrollados como verdaderas
extensiones de ASCII, dejando los primeros 127 caracteres intactos y añadiendo únicamente valores
adicionales por encima de los 7-bits. Esto permitió la representación de un abanico mayor de lenguajes, pero
estos estándares continuaron sufriendo incompatibilidades y limitaciones. Todavía hoy, ISO-8859-1 y su
variante Windows-1252 (a veces llamada erróneamente ISO-8859-1) y el código ASCII original de 7 bits son
los códigos de carácter más comúnmente utilizados.

Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 definen un conjunto de caracteres mucho
mayor, y sus diferentes formas de codificación han empezado a reemplazar ISO 8859 y ASCII rápidamente en
muchos entornos. Mientras que ASCII básicamente usa códigos de 7-bits, Unicode y UCS usan "code points"
o apuntadores relativamente abstractos: números positivos (incluyendo el cero) que asignan secuencias de 8 o
más bits a caracteres. Para permitir la compatibilidad, Unicode y UCS asignan los primeros 128 apuntadores a
los mismos caracteres que el código ASCII. De esta forma se puede pensar en ASCII como un subconjunto
muy pequeño de Unicode y UCS. La popular codificación UTF-8 recomienda el uso de uno a cuatro valores
de 8 bits para cada apuntador, donde los primeros 128 valores apuntan a los mismos caracteres que ASCII.
Otras codificaciones de caracteres como UTF-16 se parece a ASCII en cómo representan los primeros 128
caracteres de Unicode, pero tienden a usar 16 a 32 bits por carácter, así que requieren de una conversión
adecuada para que haya compatibilidad entre ambos códigos de carácter.

La palabra ASCIIbético (o, más habitualmente, la palabra "inglesa" ASCIIbetical) describe la ordenación
según el orden de los códigos ASCII en lugar del orden alfabético. 5

Sergio E. Ávila P. - 254 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

La abreviatura ASCIIZ o ASCIZ se refiere a una cadena de caracteres terminada en cero (del inglés "zero").

Caracteres imprimibles ASCII

El código el carácter espacio, designa al espacio entre palabras, y se produce normalmente por la barra
espaciadora de un teclado. Los códigos del 33 al 126 se conocen como caracteres imprimibles, y representan
letras, dígitos, signos de puntuación y varios símbolos.

El ASCII de siete bits proporciona siete caracteres "nacionales" y, si la combinación concreta de hardware y
software lo permite, puede utilizar combinaciones de teclas para simular otros caracteres internacionales: en
estos casos un backspace puede preceder a un acento abierto o grave (en los estándares británico y americano,
pero sólo en estos estándares, se llama también "opening single quotation mark"), una tilde o una "marca de
respiración".

De He Representa De He Representa De He Representa
Binario c x ción Binario c x ción Binario c x ción

0010 0 0100 0 0110 0
32 20 espacio ( ) 64 40 @ 96 60 `
000 000 000

0010 0 0100 0 0110 0
33 21 ! 65 41 A 97 61 a
001 001 001

0010 0 0100 0 0110 0
34 22 " 66 42 B 98 62 b
010 010 010

0010 0 0100 0 0110 0
35 23 # 67 43 C 99 63 c
011 011 011

0010 0 0100 0 0110 0 10
36 24 \$ 68 44 D 64 d
100 100 100 0

0010 0 0100 0 0110 0 10
37 25 % 69 45 E 65 e
101 101 101 1

0010 0 0100 0 0110 0 10
38 26 & 70 46 F 66 f
110 110 110 2

0010 0 0100 0 0110 0 10
39 27 ' 71 47 G 67 g
111 111 111 3

0010 1 0100 1 0110 1 10
40 28 ( 72 48 H 68 h
000 000 000 4

0010 1 0100 1 0110 1 10
41 29 ) 73 49 I 69 i
001 001 001 5

0010 1 0100 1 0110 1 10
42 2A * 74 4A J 6A j
010 010 010 6

0010 1 0100 1 0110 1 10
43 2B + 75 4B K 6B k
011 011 011 7

0010 1 0100 1 0110 1 10
44 2C , 76 4C L 6C l
100 100 100 8

0010 1 0100 1 0110 1 10
45 2D - 77 4D M 6D m
101 101 101 9

Sergio E. Ávila P. - 255 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

0010 1 0100 1 0110 1 11
46 2E . 78 4E N 6E n
110 110 110 0

0010 1 0100 1 0110 1 11
47 2F / 79 4F O 6F o
111 111 111 1

0011 0 0101 0 0111 0 11
48 30 0 80 50 P 70 p
000 000 000 2

0011 0 0101 0 0111 0 11
49 31 1 81 51 Q 71 q
001 001 001 3

0011 0 0101 0 0111 0 11
50 32 2 82 52 R 72 r
010 010 010 4

0011 0 0101 0 0111 0 11
51 33 3 83 53 S 73 s
011 011 011 5

0011 0 0101 0 0111 0 11
52 34 4 84 54 T 74 t
100 100 100 6

0011 0 0101 0 0111 0 11
53 35 5 85 55 U 75 u
101 101 101 7

0011 0 0101 0 0111 0 11
54 36 6 86 56 V 76 v
110 110 110 8

0011 0 0101 0 0111 0 11
55 37 7 87 57 W 77 w
111 111 111 9

0011 1 0101 1 0111 1 12
56 38 8 88 58 X 78 x
000 000 000 0

0011 1 0101 1 0111 1 12
57 39 9 89 59 Y 79 y
001 001 001 1

0011 1 0101 1 0111 1 12
58 3A : 90 5A Z 7A z
010 010 010 2

0011 1 0101 1 0111 1 12
59 3B ; 91 5B [ 7B {
011 011 011 3

0011 1 0101 1 0111 1 12
60 3C < 92 5C \ 7C |
100 100 100 4

0011 1 0101 1 0111 1 12
61 3D = 93 5D ] 7D }
101 101 101 5

0011 1 0101 1 0111 1 12
62 3E > 94 5E ^ 7E ~
110 110 110 6

0011 1 0101 1
63 3F ? 95 5F _
111 111

Rasgos estructurales

Los dígitos del 0 al 9 se representan con sus valores prefijados con el valor 0011 en binario (esto significa
que la conversión BCD-ASCII es una simple cuestión de tomar cada unidad bcd y prefijarla con 0011).

Sergio E. Ávila P. - 256 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Las cadenas de bits de las letras minúsculas y mayúsculas sólo difieren en un bit, simplificando de esta
forma la conversión de uno a otro grupo.

La RFC 1345 (publicada en Junio de 1992) y el registro IANA de códigos de caracteres, reconocen los
siguientes nombres alternativos para ASCII para su uso en Internet.
ANSI_X3.4-1968 (nombre canónico)
ANSI_X3.4-1986
ASCII
US-ASCII (nombre MIME recomendado)
us
ISO646-US
ISO_646.irv:1991
iso-ir-6
IBM367
cp367
csASCII

De estos, sólo los nombres "US-ASCII" y "ASCII" se usan ampliamente. A menudo se encuentran en el
parámetro de "código de caracteres" opcional en la cabecera Content-Type de algunos mensajes MIME, en el
elemento equivalente "meta" de algunos documentos HTML, y en la parte de declaración de codificación de
carácter de la cabecera de algunos documentos XML.@

El código Baudot/Murray data alrededor de 1874 (!) cuando Emile Baudot, un teniente del Servicio
Telegráfico Francés, desarrolla el denominado "distribuidor Baudot de Telegrafía".
Pero, expliquemos el contexto de este desarrollo de manera sencilla: Emile emplea un 'bit' de arranque y un
'bit' para parar , de manera que asi puede marcar el comienzo y final de cada letra transmitida, asi Baudot
necesita solamente cinco 'bits' de información para identificar cada letra.

Fácil verdad? No. El problema ahora era jugar con el total de combinaciones posibles con solo cinco 'bits', lo
que para nuestro cansado amigo Emile resulta en 25 posibles combinaciones. Un problemón, porque en
francés, inglés y castellano, hay mas de 26 caracteres conocidos aparte de tildes y puntuaciones, luego es
necesario recordar que tenemos números también y caracteres de espacio, énfasis, y separación de frases, los
caracteres necesarios para completar mas o menos un código aceptablemente funcional eran... 45!!!. Como
diablos puede hacerle el teniente Baudot para transmitir 45 caracteres diferentes, si solamente cuenta con solo
25 disponibles????.

El problema de Emile, fue resuelto una noche cuando bajo la tenue luz de una lámpara de carburo, juega con
las teclas de una vieja máquina de escribir accionando accidentalmente la tecla <SHIFT> que hizo que el
mecanismo de 'tipos' diera un brinco hacia arriba haciendo aparecer los paréntesis, el signo de pesos y
centavos, signos aritméticos, asterisco y las barras espaciadoras y de subrayar. Ahora Emile podía usar uno de
sus cinco 'bits' para realizar este <SHIFT> en su flamante código obteniendo nada menos que 64 nuevas
probabilidades, resultando fantásticas de momento, claro, si nunca hubiera tenido la necesidad de enviar
mensajería con textos o la necesidad de conectar con computadoras!!!!!.

La confusión provocada por la limitacion de caracteres del Baudot original hizo que con el tiempo el Baudot
evolucione creando cierto grado de confusión en el tráfico doméstico e internacional; la Western Union, la
Bell System, el Weather Bureau, la F.A.A., las Fuerzas Armadas, y... la Prensa Asociada, todos, crearon sus
propias versiones del código original, al colmo que algunos usuarios simplemente no eran capaces de ponerse
de acuerdo en la misma configuración del teclado, y no era raro encontrar símbolos raros incluidos.
Cuando la Red Internacional de Telex fue formada poco antes de la II Guerra Mundial, también había otra
versión del código Baudot/Murray: el llamado Alfabeto Internacional Telegráfico Número Dos. La Red de
Telex tenía dos graves limitaciones que no pudieron ser superadas confiablemente:

1) El código no proveía de paridad o algún otro método para la detección de errores de recepción o
transmisión, peor aún cuando el sistema carecía de medios para detectar que un error se había perpetrado sin

2) El código era secuencial donde un carácter específico definía la identidad de los subsecuentes caracteres
por un lapso de tiempo hasta que aparecía un carácter de control nuevo que ponía el <SHIFT> bien en
<FIGS> o en <CARACTERES>.

Sergio E. Ávila P. - 257 -