EL LENGUAJE DE LAS COMPUTADORAS

Anuncio
EL LENGUAJE DE LAS COMPUTADORAS
Una computadora maneja sus instrucciones por medio
de un sistema numérico “binario”, que es el más simple
de todos al contar con sólo dos símbolos para
representar las cantidades. La computadora representa
los comandos y elementos por medio de éstas
cantidades.
Aunque el sistema básico usado es el binario, la
computadora puede también representar números por
medio del sistema “hexadimal”.
Los modernos equipos de cómputo actuales no utilizan el sistema decimal para representar valores
numéricos, en su lugar se hace uso del sistema binario, también llamado complemento de dos. Es
importante entender cómo representan las computadoras los valores numéricos, en éste capítulo
analizaremos varios conceptos importantes incluyendo los sistemas binario y hexadecimal, la
organización binaria de datos (bits, nibbles, bytes, palabras y palabras dobles), sistemas numéricos con
signo y sin signo, operaciones aritméticas, lógicas, de cambio (shift) y rotación en valores binarios,
campos de bits, empaquetado de datos y el juego de caracteres ASCII.
En términos matemáticos un valor puede tomar un número arbitrario de bits, pero las computadoras por
el contrario, generalmente trabajan con un número específico de bits, desde bits sencillos pasando por
grupos de cuatro bits (llamados nibbles), grupos de ocho bits (bytes), grupos de 16 bits (words, ó
palabras) y aún más. Como veremos mas adelante, existe una buena razón para utilizar éste orden.
Fuente: http://www.modelo.edu.mx/univ/virtech/prograc/cbyn01.htm
CONVERSIÓN ENTRE NÚMEROS DECIMALES Y BINARIOS
Convertir un número decimal al sistema binario es muy sencillo: basta con realizar divisiones sucesivas
por 2 y colocar los restos obtenidos, en cada una de ellas. Para formar el número binario tomaremos los
restos en orden inverso al que han sido obtenidos. Por ejemplo:
ARITMÉTICA BINARIA
La Unidad Aritmético Lógica, en la CPU del procesador, es capaz de realizar operaciones aritméticas,
con datos numéricos expresados en el sistema binario. Naturalmente, esas operaciones incluyen la
adición, la sustracción, el producto y la división. Las operaciones se hacen del mismo modo que en el
sistema decimal, pero debido a la sencillez del sistema de numeración, pueden hacerse algunas
simplificaciones que facilitan mucho la realización de las operaciones.
SUMA EN BINARIO
La tabla de sumar, en binario, es mucho más sencilla que en decimal. Sólo hay que recordar cuatro
combinaciones posibles. Recuerda que en el sistema decimal había que memorizar unas 100
combinaciones.
0+0=0
Las sumas 0+0, 0+1 y 1+0 son evidentes:
0+1=1
1+0=1
Pero la suma de 1+1, que sabemos que es 2, debe escribirse en binario con dos cifras (10) y, por tanto
1+1 es 0 y se arrastra una unidad, que se suma a la posición siguiente a la izquierda.
SUSTRACCIÓN EN BINARIO
Restar en binario es, nuevamente, igual que la misma operación en el sistema decimal. Pero conviene
repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla.
Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.
Las sumas 0-0, 1-0 y 1-1 son evidentes:
0–0=0
1–0=1
1–1=0
La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición
siguiente: 10 -1, es decir, 210 – 110 = 1
Esa unidad prestada debe devolverse, sumándola, a la posición siguiente.
MULTIPLICACIÓN Y DIVISIÓN EN BINARIO
Para la multiplicación de números binarios se aplican las reglas aplicadas con el sistema decimal:
0x0=0
0x1=0
1x0=0
1x1=1
La división de números binarios requiere el mismo procedimiento utilizado par a la división de
números decimales, incluso es más sencilla.
COMPLEMENTOS
Complemento a dos
El complemento a dos de un número N, con n cifras, se define como: CN2 = 2n – N
Veamos un ejemplo: tomemos el número N = 1011012 que tiene 6 cifras, y calculemos el complemento
a dos de ese número:
Complemento a uno
El complemento a uno de un número N, con n cifras es, por definición, una unidad menor que el
complemento a dos, es decir:
Calculemos el complemento a uno del mismo número del ejemplo anterior:
Da la sensación de que no va a ser más sencillo restar utilizando el complemento a dos, porque el
procedimiento para calcular el complemento a dos es más difícil y laborioso que la propia resta. Pero es
mucho más sencillo de lo que parece.
En realidad, el complemento a uno de un número binario es el número resultante de invertir UNOS y
CEROS.
Si N = 101101
Fuente:
http://72.14.253.104/search?q=cache:ZfMv35KFccMJ:platea.pntic.mec.es/~lgonzale/tic/calculo/Aritm
%25E9tica%2520binaria.pdf+aritm%C3%A9tica+binaria&hl=es&gl=mx&ct=clnk&cd=3&client=firef
ox-a
PUNTO O COMA FLOTANTE
Se denomina coma flotante o punto flotante (abreviado comúnmente como FP, del inglés floating
point) al método de representación de números reales que, en oposición a la coma fija, permite que la
posición de la coma se mueva (flote) a cualquier posición del número, permitiendo por ello un rango
mayor de los números que es posible representar con cantidad fija de dígitos. Su uso es especialmente
interesante en la informática pues permite trabajar con números decimales en rangos amplios, aunque
también se usa el truncado de decimales.
Los números representados en coma flotante siguen el siguiente patrón: r = m x be
r:
Valor real
m:
Mantisa, dígitos significativos del número. Ésta está normalizada cuando su parte entera es un
número entero de un solo dígito.
b:
Base del sistema de representación (10 en sistema decimal, 8 en sistema octal, etc)
e:
Cantidad de posiciones hacia la izquierda del desplazamiento de la coma (el desplazamiento
negativo denota desplazamiento de la coma hacia la derecha) respecto de r. Cabe añadir que
cuando e vale cero la mantisa tiene el mismo aspecto que el valor real.
En ciertos casos se usa como r = s x m x be, en el cual s vale 1 ó -1 y extrae el signo de m.
Se dice entonces que la coma flota variando su posición arbitrariamente.
Éste método se usa comúnmente en los sistemas decimal y binario por razones concretas y prácticas.
CÓDIGOS DE REPRESENTACIÓN DE DATOS
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 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.
Fuente: http://www.gratisweb.com/atlasernesto/9.htm
BCD
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:
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)
Es un código binario que representa caracteres alfanuméricos, controles y signos de puntuación.
Cada carácter está compuesto por 8 bits = 1 byte, por eso EBCDIC define un total de 256 caracteres.
Existan muchas versiones ("codepages") de EBCDIC con caracteres diferentes, respectivamente
sucesiones diferentes de los mismos caracteres.
Por ejemplo al menos hay 9 versiones nacionales de EBCDIC con Latín 1 caracteres con sucesiones
diferentes. EBCDIC es un producto de IBM para ordenadores centrales.
Fuente: http://es.wikipedia.org/wiki/EBCDIC
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. La versión extendida del código ASCII utiliza 8 bits para manejar
255 caracteres.
ASCII son las siglas de American Standard Code for Information Interchange. Su uso primordial es
facilitar el intercambio de información entre sistemas de procesamiento de datos y equipos asociados y
dentro de sistemas de comunicación de datos.
En un principio cada carácter se codificaba mediante 7 dígitos binarios y fue creado para el juego de
caracteres ingleses más corrientes, por lo que no comtemplaba ni caracteres especiales ni caracteres
específicos de otras lenguas. Esto hizo que posteriormente se extendiera a 8 dígitos binarios
La tabla del código ASCII de 7 bits es la siguiente:
Baudot
El código de Baudot, denominado así por su inventor Émile Baudot, es
un juego de caracteres predecesor del EBCDIC y del ASCII y fue
originalmente utilizado sobre todo en teletipos.
El código original de Baudot, desarrollado alrededor del año 1874, se
conoce como Alfabeto Internacional de Telegrafía Nº 1, y en la
actualidad ya no está en uso. Para su transmisión se utilizaba un teclado
de cinco teclas donde cada tecla representaba un bit de la señal de cinco
estados. Un limpiador mecánico exploraba el estado del teclado y
liberaba las teclas permitiendo que el operador introdujera el carácter
siguiente.
Alrededor del 1901 el código de Baudot fue modificado por Donald Murray reordenando los
caracteres, agregando otros nuevos así como códigos de control. El reordenamiento hecho por Murray
fue propiciado por su desarrollo de un teclado parecido al de una máquina de escribir. Entonces la
disposición de los bits fue disociada de las teclas del operador. Murray arregló su código de modo que
los caracteres más usados produzcan la menor cantidad de cambios de estado, lo que reducía al mínimo
el desgaste en el equipo.
Otra modificación del código de Murray que fue fomentada sobre todo por Western Union consistió en
el descarte de algunos caracteres. Esta modificación final es la que se conoce generalmente como el
código de Baudot, también conocido como Alfabeto Internacional de Telegrafía Nº 2 (ITA2). El ITA2
todavía se utiliza en teléfonos para sordos, en radioaficionados, y en RTTY (radioteletipo).
Codificación CCITT-1
Con un teclado de cinco teclas sólo se puede definir una cantidad
de palabras de 32 (= 25) combinaciones diferentes y esta cantidad
no satisface las 26 letras más las 10 cifras, por lo tanto no puede
codificar un alfabeto. La idea de Baudot fue introducir la idea de
espacio como introductor de comandos, de esta forma duplicó el
número de posibilidades.
Fuente: http://es.wikipedia.org/wiki/C%C3%B3digo_Baudot
Gray
El Código Gray es un caso particular de código binario. Consiste en una ordenación de 2n números
binarios de tal forma que cada número sólo tenga un dígito binario distinto a su predecesor.
Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas
de vacío y dispositivos electromecánicos. Los contadores necesitaban potencias muy elevadas a la
entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. El uso de código
Gray garantizó que en cualquier transición variaría tan sólo un bit.
En la actualidad, 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, ya que el principio de diseño de buscar
transiciones más simples y rápidas entre estados sigue vigente, a pesar de que los problemas de ruido y
potencia se hayan reducido.
Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles
resultantes, en función del orden que se desee seguir), pero el más usado consiste en cambiar el bit
menos significativo que genera un nuevo código. Este es un código gray de cuatro bits generado con
dicho algoritmo:
Dígito decimal Código Gray Dígito decimal Código Gray
0
0000
8
1100
1
0001
9
1101
2
0011
10
1111
3
0010
11
1110
4
0110
12
1010
5
0111
13
1011
6
0101
14
1001
7
0100
15
1000
El primer uso documentado de un código de estas características fue en una demostración del telégrafo
del ingeniero francés Émile Baudot, en 1878. Pero no fueron patentados hasta 1953 por Frank Gray
(que dio nombre al sistema de codificación), un investigador de los laboratorios Bell.
Binario a Gray
Para pasar un número binario al código binario Gray, hay una regla fácil de implementar en un lenguaje
de programación:
1. Un número en binario siempre empieza en 1 – Los ceros a la izquierda no cuentan –; Pues en Gray
también. Ej: 1000011110000 en binario se escribe 1xxxxXXXXxxxx.
2. Ahora nos fijamos en el segundo dígito. Si es igual al dígito anterior se pone un 0 (no cambia); Si es
diferente --como es el caso, pues el dígito anterior era un 1 y el que observamos un 0-- se pondrá un
1 (cambia). Ej: El número del ejemplo anterior será: 11xxxXXXXxxxx.
3. En los casos sucesivos se repite el paso anterior, observando en el número binario 'natural' el dígito
anterior al que se evalúa. Ej: El número del ejemplo anterior, pasado a código Gray será:
1100010001000.
Otros ejemplos:
1010
- 1111
111000
- 100100
011001
- 010101
110101010001 – 101111111001
Otra técnica sencilla para pasar de binario a Gray sin usar un lenguaje de programación es esta:
1. Aplicar un XOR (disyunción exclusiva, también se puede sumar cada bit individualmente
descartando cualquier acarreo) del número a sí mismo pero con un acarreo a la derecha.
2. Eliminar el bit del extremo derecho.
Ej: Pasar diez (1010) de binario a gray será 1111.
1010
1010
-------1111
Otros ejemplos:
111000
111000
----------100100
110101010001
110101010001
------------------101111111001
Gray a Binario
Hacer el cambio contrario es simplemente invertir lo que hace el anterior, de forma que si se encuentra
un cero (siempre que no sea al principio) se debe poner la cifra anterior; En cambio si pone un 1 es
porque la cifra ha cambiado así que si había un 0 ahora se pone un 1 y viceversa.
Fuente: http://es.wikipedia.org/wiki/C%C3%B3digo_Gray
Descargar