martes, 20 de abril de 2010

COMPLEMENTOS



Los complementos son muy usados en los sistemas digitales al momento de realizar operaciones de resta.Existen dos tipos de complemento. El complemento a b y el complemento a b-1 donde b es la base. Es decir, para los números binarios existen los complementos a 2 y a 1. En base octal serían complemento a 8 y a 7, etc. El complemento a b se define de la siguiente forma:

Complemento a b

Teniendo un número N de n dígitos enteros, el complemento a b de N = (bn - N) si N ≠ 0 y será 0 si N=0. Esto se cumple para todos los números N positivos incluso con fracción decimal. El único caso especial a considerar es cuando la parte entera es cero. Esto se interpreta como que n = 0.
Veamos algunos ejemplos: ¿Cuál es el complemento a 10 de (987)10? En este caso N = 987 y n = 3, entonces:

103 - 987 = 1000 - 987 = 13


¿El complemento a 10 de (0,125)10? Aquí N = 0,125 y n = 0, así que:

100 - 0,125 = 1 - 0,125 = 0,875


¿El complemento a 10 de (987,125)10? N= 987,125 y n = 3, por lo tanto:

103 - 987,125 = 1000 - 987,125 = 12,875


ATENCIÓN: Observen que NO es lo mismo que calcular el complemento de la parte entera y de la fracción decimal por separado y juntar los resultados. OJO con eso. Veamos unos casos en binario. Para el complemento a 2 de (10101100)2 tenemos que n=8, entonces:

(28)10 - (10101100)2 = (256)10 - (10101100)2 = (100000000 - 10101100)2 =
(01010100)2


Otro. El complemento a 2 de (1010)2 es

(10000 - 1010)2 = (0110)2


Obsérvese que para calcular el complemento a 2 de un número binario sólo basta con evisar todos los dígitos desde el menos significativo hacia el más significativo y mientras se consiga un cero, dejarlo igual, al conseguir el primer número 1, dejarlo igual para luego cambiar el resto de ellos hasta llegar al más significativo. Así podemos decir rápidamente que el complemento a 2 de (10100000)2 es (01100000)2,que el complemento a 2 de (111)2 es (001)2, etc. Otra forma muy sencilla de hallar el complemento a 2 de un número binario es invirtiendo todos los dígitos (que como veremos a continuación es lo que se conoce como complemento a 1) y sumándole uno al resultado obtenido. Pruébenlo.

Complemento a b-1

Por otro lado tenemos también el complemento a b-1. En este caso, teniendo un número positivo N en base b con n dígitos enteros y m dígitos en la fracción decimal,se conoce como complemento a b-1 de N a
bn - b-m - N

Veamos entonces. Para el complemento a 9 de (987)10 tenemos que N = 987,n = 3 y
m = 0, por lo tanto

103 - 100 - 987 = 1000 - 1 - 987 = 12


Para el complemento a 9 de (0,125)10 tenemos que N = 0,125 y n = 0 y m = 3,
entonces


100 - 10-3 - 0,25 = 1 - 0,001 - 0,125 = 0,999 - 0,125 = 0,874


Y ¿qué hay del complemento a 9 de (987,125)10? En ese caso N= 987,125 ; n = 3 y m
= 3, por lo tanto


103 - 10-3 - 987,125 = 1000 - 0,001 - 987,125 = 999,999 - 987,125 = 12,874

Observen que en este caso sí es lo mismo calcular el complemento de la parte entera
y el de la fracción decimal por separado y juntar ó sumar los resultados.
Algunos ejemplos en binario. Para el complemento a 1 de (10101100)2 sabemos que
n=8 y m=0 =>

(28)10 -1 - (10101100)2 = (256)10 - 1 - (10101100)2 = (100000000 - 1 - 10101100)2
= (01010011)2

y que el complemento a 1 de (1010)2 es

(10000 - 1 - 1010)2 = (0101)2

En estos dos últimos ejemplos se puede observar que para conseguir el complemento
a 1 de un número binario basta con tan solo invertir todos los dígitos (esto quiere
decir cambiar 0 por 1 y viceversa). Es por esto que les comenté anteriormente que
otra forma de calcular el complemento a 2 de un número binario es hallando el
complemento a 1 (o sea invertir todos los digitos) y sumarle 1.

miércoles, 24 de marzo de 2010

historia

INTRODUCCION

La lógica, como la ciencia del pensamiento racional, es fundamental en la formación integral de cualquier profesional, en el sentido del aporte que esta hace al fortalecimiento de las competencias comunicativas, en tanto potencian su capacidad argumentativa, mediante el desarrollo de habilidades de pensamiento de orden superior, como la abstracción, el análisis, la síntesis la inducción, la deducción, la simplificación de circuitos lógicos, la simplificación de leyes de algebra booleana, entre otros.

Reseña históricaA mediados del siglo XIX, George Boole (1815-1864), en sus libros: "The Mathematical Analysis of Logic" (1847) y "An Investigation of te Laws of Thought" (1854), desarrolló la idea de que las proposiciones lógicas podían ser tratadas mediante herramientas matemáticas. Las proposiciones lógicas (asertos, frases o predicados de la lógica clásica) son aquellas que únicamente pueden tomar valores Verdadero/Falso, o preguntas cuyas únicas respuestas posibles sean Sí/No. Según Boole, estas proposiciones pueden ser representadas mediante símbolos y la teoría que permite trabajar con estos símbolos, sus entradas (variables) y sus salidas (respuestas) es la Lógica Simbólica desarrollada por él. Dicha lógica simbólica cuenta con operaciones lógicas que siguen el comportamiento de reglas algebraicas. Por ello, al conjunto de reglas de la Lógica Simbólica se le denomina algebra booleana.

TEOREMAS
• Teorema 1: A + A = A
• Teorema 2: A • A = A
• Teorema 3: A + 0 = A
• Teorema 4: A • 1 = A
• Teorema 5: A • 0 = 0
• Teorema 6: A + 1 = 1
• Teorema 7: (A + B)’ = A’ • B’
• Teorema 8: (A • B)’ = A’ + B’
• Teorema 9: A + A • B = A
• Teorema 10: A • (A + B) = A
• Teorema 11: A + A’B = A + B
• Teorema 12: A’ • (A + B’) = A’B’
• Teorema 13: AB + AB’ = A
• Teorema 14: (A’ + B’) • (A’ + B) = A’
• Teorema 15: A + A’ = 1
• Teorema 16: A • A’ = 0

Operaciones lógicas básicas

Sea un conjunto formado por sólo dos elementos que designaremos por 0 y 1. Llamaremos variables lógicas a las que toman sólo los valores del conjunto, es decir 0 o 1.
En dicho conjunto se definen tres operaciones básicas:

SUMA LOGICA:

Denominada también operación "O" (OR). Esta operación responde a la siguiente tabla:

a b a+b
0 0 0
0 1 1
1 0 1
1 1 1

PRODUCTO LOGICO:

Denominada también operación "Y" (AND). Esta operación responde a la siguiente tabla:

a b a*b
0 0 0
0 1 0
1 0 0
1 1 1


NEGACION LOGICA:

Denominada también operación "N" (NOT). Esta operación responde a la siguiente tabla:

a a'
0 1
1 0

lunes, 22 de marzo de 2010

Código ASCII



Cuando hablamos de información y mensajes de datos en diseño electrónico necesariamente tenemos que hablar de caracteres y también de su representación especial (codificación) por que sabemos que la información se envía y recibe a través de medios digitales. Dado que en el mundo existen muchos idiomas es natural que existan miles de caracteres, por lo tanto existirán muchas tablas de códigos para representar dichos caracteres que es lo que confunde a los usuarios de dichas tablas, por ejemplo, la confusión existente entre la codificación ASCII y los códigos ALT de teclado para usuarios de aplicaciones Microsoft.

El código ASCII o US-ASCII fue creado en 1963 para transferir información entre equipos eléctricos y entre equipos electrónicos basados en los caracteres comunes del alfabeto Norteamericano. Inicialmente tenía únicamente algunos signos de puntuación, los dígitos arábigos y las letras en mayúscula, luego en 1967 se agregó la lista de caracteres en minúscula del alfabeto norteamericano. Si quieres algo más de historia puedes ver este enlace.
Actualmente, el código ASCII está compuesto por 128 códigos, de los cuales los 32 (0 a 31) primeros y el 127 se les conoce como caracteres de control o caracteres no imprimibles cuando el dato se envía (salida de datos), pero cuando estos códigos de control se visualizan en pantalla pueden verse caracteres especiales para los mismos valores. Como información adicional los caracteres de control se utilizaban para controlar las impresoras y otros periféricos a través de los puertos paralelo y serial de un ordenador.

¿Qué es el código ASCII?

La memoria de un ordenador guarda toda la información en formato digital. No hay forma de almacenar caracteres directamente. Cada uno de los caracteres tiene un código digital equivalente. Esto se denomina código ASCII (American Standard Code for Information Interchange). El código ASCII básico representaba caracteres utilizando 7 bits (para 128 caracteres posibles, enumerados del 0 al 127)
  • Los códigos de 0 al 31 no se utilizan para caracteres. Éstos se denominan caracteres de control ya que se utilizan para acciones como:


    • Retorno de carro (CR)
    • Timbre (BEL)
  • Los códigos 65 al 90 representan las letras mayúsculas.
  • Los códigos 97 al 122 representan las letras minúsculas
    (Si cambiamos el 6º bit, se pasa de mayúscula a minúscula; esto equivale a agregar 32 al código ASCII en base decimal).

 

Tabla de caracteres de ASCII extendido

El ASCII se desarrolló para utilizarse con el idioma inglés. No posee caracteres acentuados, o caracteres específicos de otros idiomas. Para codificar estos caracteres, se necesitaba un sistema de códigos distinto. El código ASCII se extendió a 8 bits (el equivalente a un byte) a fin de codificar más caracteres (esto se denomina código ASCII extendido).
Este código asigna los valores del 0 al 255 (codificados en 8 bits, es decir, en 1 byte) para las mayúsculas, las minúsculas, los dígitos, las marcas de puntuación y otros símbolos (incluyendo los caracteres acentuados del código iso-latin1)

El código ASCII extendido no está estandarizado y varía de acuerdo a la plataforma en que se utiliza.
Los dos grupos de caracteres más comunes del código ASCII extendido son:
  • Código extendido ASCII OEM, que estaba integrado en el primer PC de IBM.



    Código extendido ASCII OEM

  • Código extendido ASCII ANSI, utilizado por los sistemas operativos actuales.



    Código extendido ASCII ANSI 

     

     

     

     

    Código EBCDIC

    El código EBCDIC (en castellano, código de intercambio decimal binario extendido), desarrollado por IBM, se utiliza para codificar caracteres con 8 bits. A pesar de que IBM lo utiliza en muchos de sus equipos, no ha tenido tanto éxito como ASCII.

    Unicode

    Unicode es un sistema de codificación de caracteres de 16 bits desarrollado en 1991. Unicode puede representar cualquier carácter a través de un código de 16 bits, independientemente del sistema operativo o el idioma de programación utilizado.
    Incluye casi todos los alfabetos actuales (como el árabe, el armenio, el cirílico, el griego, el hebreo y el latín) y es compatible con el código ASCII.
    Encontrará una lista de todos los códigos que se utilizan en Unicode en http://www.unicode.org



    UTILIZANDO LA HERRAMIENTA ONLINE


    1. Haz Clic en el Botón Caracteres ASCII.






    2. En la ventana que aparece, llamada Los Caracteres ASCII, selecciona un carácter de la lista. Usa la barra vertical para buscar un carácter específico.
    3. Las diferentes representaciones del carácter ASCII aparecerán en la misma ventana.
    4. El código ALT + Número Decimal es aplicable solo para usuarios de Microsoft Office.









jueves, 4 de marzo de 2010

¿Que es el código BCD?

Como bien sabemos los números del Sistema decimal tienen equivalentes en el Sistema Binario, La agrupación ordenada de los 0 y 1 de un número Binario representa algún número Decimal.

Los sistemas digitales utilizan por fuerza los números en Sistema Binario, pero para nosotros en el mundo real siempre tienen que ser convertidos al Sistema Decimal, como hemos visto, las conversiones entre uno y otro Sistema de Números pueden llevarnos demasiado tiempo y ser muy complicadas, por ejemplo, si usamos números muy grandes. Para este tipo de conversiones y usos, se utiliza un método sencillo que combina las características de los Sistemas Decimal y Binario, este método lleva el nombre de Codificación Binaria Directa.

Cuando tomamos cada uno de los dígitos del Sistema Decimal, y lo representamos con su equivalente del Sistema Binario, estamos generando un "nuevo" código, el cuál lleva el nombre de Código Decimal Codificado en Binario (BCD).

Partiendo de este nuevo código, el mayor número que podemos representar es el 9 (1001), por lo tanto forzosamente necesitamos de un número Binario de 4 Bits para hacerlo. Pero veamos gráficamente que es y como funciona el BCD.

En esta ocasión usaremos los números Decimales 586 y 397, el proceso de convertir cada dígito por un equivalente Binario sería el siguiente:

Cada uno de los dígitos del Número Decimal es convertido en su equivalente Binario, Siempre utilizando 4 Bits para este proceso. En resumen, el Código BCD representa por separado cada uno de los numerales Decimales, empleando para ello números Binarios de 4 Bits.

Como es lógico, si sólo se puede representar un solo número decimal por cada código BCD, los números del 10 al 15 (que es el número decimal más alto para un código Binario de 4 Bits, 1111), están fuera del código, de hecho, si tenemos algún circuito digital que trabaja sobre Código BCD y nos diera una salida como las siguientes, algo no está funcionando bien:

Decimal 10 = Binario 1010

Decimal 11 = Binario 1011

Decimal 12 = Binario 1100

Decimal 13 = Binario 1101

Decimal 14 = Binario 1110

Decimal 15 = Binario 1111


Diferencias entre el Sistema Binario y el Código BCD


Como el nombre lo indica, el Código BCD no puede ser catalogado como un Sistema (como el Binario, Octal y Hex). Sólo es una forma de Codificar el Sistema Binario.

Teniendo muy presente este hecho, Un número en código BCD, NO es lo mismo que un número Binario Directo. El código BCD toma cada uno de los dígitos de un número Decimal y los representa, Un número del Sistema Binario representa el número Decimal Completo. Para comprender mejor el concepto, usaremos el número Decimal 387.


Tabla de conversión al Sistema Binario

Tabla de conversión al Código BCD





Fuente: Mundo Digital

miércoles, 3 de marzo de 2010

Sistema BCD

Bueno muchachos aqui vamos a hablar un poco sobre el codigo BCD, empezemos definiendo que un código es un conjunto de símbolos y normas que permiten la representación de información. Gracias a los códigos es posible que las computadoras (que sólo trabajan con datos binarios ) pueden procesar información que no es numérica. Los códigos digitales permiten la representación de números, letras y señales de control usando únicamente bits. Seguramente el lector debe conocer algunos códigos, como la clave morse, donde cada letra es representada mediante una secuencia de puntos y rayas. De un modo similar, las antiguas tarjetas perforadas podían contener información gracias al código Hollerith, el cual asociaba la posición de las perforadoras con símbolos alfabéticos específicos. BCD (Código Binario en Decimal ) El BCD (del inglés Binary-Coded Decimal), también llamado código 8421. representa cada dígito decimal por medio de cuatro dígitos binarios. El BCD no tiene equivalencia para letras. Este código agrupa cuatro bits porque, para representar los diez símbolos del sistema decimal se requiere un mínimo de cuatro cifras binarias. La tabla de equivalencias del BCD es la siguiente: Decimal 0 1 2 3 4 BCD 0101 0110 0111 1000 1001 Decimal 5 6 7 8 9 BCD 0000 0001 0010 0011 0100 Utilizando este código, el numero 4158 queda representado como : 0100 0001 0101 1000 Debe tenerse cuidado para no confundir la representación en BCD del numero 4158 con su equivalente en sistema binario, que es 1000000111110. El BCD fue utilizado por las primeras computadoras digitales y ahora es útil para circuitos electrónicos. EBCDIC ( Binario Extendido para intercambio de Código Decimal ) Este código diseñado por la IBM, es una versión ampliada del BCD, y requiere de 8 bits con lo cual puede representar letras y símbolos, a demás de los números. ASCII ( Código de Estándares Americanos para Intercambios de Información ) Este código agrupa 7 bits, con los que se representan 96 caracteres y 32 símbolos de control. Es utilizado para el intercambio de información entre dispositivos fabricados por diferentes empresas y para transmisión telefónica de datos. L versión extendida del código ASCII utiliza 8 bits para manejar 255 caracteres. Por ejemplo la letra “A” se representa con la cadena de bits 01000001, cuyo equivalente decimal es 65. de acuerdo a la tabla ASCII la palabra “HOLA “ se representaría como : H O L A 01001000 01001111 01001100 01000001 72 79 76 65 ASCII EBCDIC CARACTER 7 CÓDIGOS DE BIT 8 CÓDIGO DE BIT A 1000001 11000001 B 1000010 11000010 C 1000011 11000011 D 1000100 11000100 E 1000101 11000101 F 1000110 11000110 G 1000111 11000111 H 1001000 11001000 Y 1001001 11001001 J 1001010 11010001 K 1001011 11010010 L 1001100 11010011 M 1001101 11010100 N 1001110 11010101 O 1001111 11010110 P 1010000 11010111 Q 1010001 11011000 R 1010010 11011001 S 1010011 11100010 T 1010100 11100011 U 1010101 11100100 V 1010110 11100101 W 1010111 11100110 X 1011000 11100111 Y 1011001 11101000 Z 1011010 11101001 0 0110000 11110000 1 0110001 11110001 2 0110010 11110010 3 0110011 11110011 4 0110100 11110100 5 0110101 11110101 6 0110110 11110110 7 0110111 11110111 8 0111000 11111000 9 0111001 11111001...Mas adelante veremos mas profundo como es que trabaja el codigo ASCII