domingo, 8 de noviembre de 2015

RESUMEN DE LOS APUNTES DEL TEMA 2
El bit es la unidad mínima de información empleada en informática, en cualquier dispositivo digital, o en la teoría de la información.
Un bit es un dígito del sistema de numeración binario. Lo usual es que En memorias digitales vinculadas con la computación y/o con las telecomunicaciones, tengan una capacidad de representación de informaciones de por ejemplo 8 bits, o 32 bits, o 64 bits, o 16 bits….
Mientras que en el sistema de numeración decimal se usan diez dígitos (diez símbolos), en el binario se usan solo dos dígitos, el 0 y el 1.
Con un bit podemos representar solamente dos valores o dos diferentes estados, que suelen representarse como 0, 1. Se pueden distinguir 4 combinaciones, el 00, el 01, 11 y el 10 . A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes.
En el sistema binario cada vez que un dígito binario (bit) se desplaza una posición hacia la izquierda vale el doble (2 veces más), y cada vez que se mueve hacia la derecha, vale la mitad (2 veces menos). Cuando se trabaja con varios sistemas de numeración o cuando no está claro con cual se está trabajando, es típico usar un subíndice para indicar el sistema de numeración con el que se ha representado un número, el 10 para el decimal y el 2 para el binario.
Un conjunto o grupo de bits, como por ejemplo un byte, representa un conjunto de elementos ordenados. Se llama bit más significativo (MSB) al bit que tiene un mayor peso dentro del conjunto y se llama bit menos significativo (LSB) al bit que tiene un menor peso dentro del conjunto. Esto se resume a que el número que esté más a la izquierda es el de mayor peso.

Una máquina little endian asigna los bytes menos significativos en el extremo más bajo de la memoria, mientras que una máquina big endian asigna los bytes menos significativos en el extremo más alto.

Cuando se habla de CPUs o microprocesadores de 4, 8, 16, 32, 64 bits, se refiere al tamaño, en número de bits, que tienen los registros internos del procesador y también a la capacidad de procesamiento de la Unidad aritmético-lógica. Los procesadores de 16, 32 y 64 bits tienen registros y ALU de 16, 32 y 64 bits respectivamente. Así, un procesador de 16 bits puede procesar los datos en grupos de 8 y 16 bits, comportándose como si fuera un procesador tanto de 8 como de 16 bits.

El término byte fue acuñado por Werner Buchholz en 1957 durante las primeras fases de diseño del IBM 7030 Stretch. Originalmente fue definido en instrucciones de 4 bits, permitiendo desde uno hasta dieciséis bits en un byte. Originalmente el byte fue elegido para ser un submúltiplo del tamaño de palabra de un ordenador, desde cinco a doce bits. La popularidad de la arquitectura IBM S/360 que empezó en los años 1960 y la explosión de las microcomputadoras basadas en microprocesadores de 8 bits en los años 1980 ha hecho obsoleta la utilización de otra cantidad que no sean 8 bits.
Los bytes de 8 bits se integran firmemente en estándares comunes como Ethernet y HTM.
El término octeto se utiliza ampliamente como un sinónimo preciso donde la ambigüedad es indeseable (por ejemplo, en definiciones de protocolos). Los bytes de 8 bits a menudo se llaman “octetos” en contextos formales como los estándares industriales, así como en redes informáticas y telecomunicaciones para evitar confusiones sobre el número de bits implicados

Los prefijos utilizados para los múltiplos del byte normalmente son los mismos que los prefijos del SI, también se utilizan los prefijos binarios, pero existen diferencias entre ellos, ya que según el tipo de prefijo utilizado los bytes resultantes tienen valores diferentes.
• kibibyte = 1024 B = 210 bytes. 
• kilobyte = 1000 B = 103 bytes.  

Una secuencia contigua de bits en una computadora binaria que comprende el sub-campo direccionable más pequeño del tamaño de palabra natural de la computadora.

Los primeros microprocesadores, como el Intel 8008  podían realizar un número pequeño de operaciones en 4 bits, como la instrucción DAA (ajuste decimal) y el flag "half carry" que eran utilizados para implementar rutinas de aritmética decimal. Estas cantidades de cuatro bits se llamaron "nibbles" en honor al equivalente de 8 bits “bytes”. A la mitad de un byte de ocho bits se llama nibble o un dígito hexadecimal. El nibble a menudo se llama semiocteto en redes o telecomunicaciones y también por algunas organizaciones de estandarización. Además, una cantidad de 2 bits se llama crumb, aunque raramente se utiliza.

Capítulo 3
Sistema binario
El sistema binario, llamado también sistema diádico en ciencias de la computación, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno
3.1 Historia del sistema binario
El antiguo matemático indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de nuestra era, lo cual coincidió con su descubrimiento del concepto del número cero.
 La secuencia decimal de 0 a 63, y un método para generar el mismo fue desarrollado por el erudito y filósofo Chino Adgart en el siglo XI. En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios.
En 1854, el matemático británico George Boole publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole.
3.1.1 Aplicaciones
En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell, construyó una computadora basada en relés —a la cual apodó “Modelo K” que utilizaba la suma binaria para realizar los cálculos. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938, con Stibitz al mando.
El 8 de enero de 1940 terminaron el diseño de una “Calculadora de Números Complejos”, la cual era capaz de realizar cálculos con números complejos. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Algunos participantes de la conferencia que presenciaron la demostración fueron John von Neumann, John Mauchly y Norbert Wiener, quien escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzó diferentes logros.
3.2 Representación
Los números binarios comúnmente son escritos usando los símbolos 0 y 1. Los números binarios se escriben a menudo con subíndices, prefijos o sufijos para indicar su base. Las notaciones siguientes son equivalentes:
• 100101 binario (declaración explícita de formato)
• 100101b (un sufijo que indica formato binario)
• 100101B (un sufijo que indica formato binario)
• bin 100101 (un prefijo que indica formato binario)
• 1001012 (un subíndice que indica base 2 (binaria) notación)
• %100101 (un prefijo que indica formato binario)
• 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación)
3.3 Conversión entre binario y decimal
3.3.1 Decimal a binario
Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente hasta que el dividendo sea menor que el divisor, 2. Es decir, cuando el número a dividir sea 1 finaliza la división.
Ejemplo Transformar el número decimal 131 en binario. El método es muy simple:
131 dividido entre 2 da 65 y el residuo es igual a 1 65 dividido entre 2 da 32 y el residuo es igual a 1 32 dividido entre 2 da 16 y el residuo es igual a 0 16 dividido entre 2 da 8 y el residuo es igual a 0 8 dividido entre 2 da 4 y el residuo es igual a 0 4 dividido entre 2 da 2 y el residuo es igual a 0 2 dividido entre 2 da 1 y el residuo es igual a 0 1 dividido entre 2 da 0 y el residuo es igual a 1 -> Ordenamos los residuos, del último al primero: 10000011 En sistema binario, 131 se escribe 10000011
Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas.
100|0 50|0 25|1 --> 1, 25-1=24 y seguimos dividiendo entre 2 12|0 6|0 3|1 1|1 --> (100)10 = (1100100)2
3.3.2 Decimal (con decimales) a binario
Para transformar un número del sistema decimal al sistema binario:
1. Se transforma la parte entera a binario. (Si la parte entera es 0 en binario será 0, si la parte entera es 1 en binario será 1, si la parte entera es 5 en binario será 101 y así sucesivamente).
2. Se sigue con la parte fraccionaria, multiplicando cada número por 2. Si el resultado obtenido es mayor o igual a 1 se anota como un uno (1) binario. Si es menor que 1 se anota como un 0 binario.
3. Después de realizar cada multiplicación, se colocan los números obtenidos en el orden de su obtención.
4. Algunos números se transforman en dígitos periódicos, por ejemplo: el 0.1.
Ejemplo
5.5 = 5,5 5,5 (decimal) => 101,1 (binario). Proceso: 5 => 101 0,5 · 2 = 1 => 1 En orden: 1 (un solo dígito fraccionario) -> 101,1 (binario)
3.3.3 Binario a decimal
Para realizar la conversión de binario a decimal, realice lo siguiente: 1. Inicie por el lado derecho del número en binario, cada cifra multiplíquela por 2 elevado a la potencia consecutiva (comenzando por la potencia 0, 20 ).
 2. Después de realizar cada una de las multiplicaciones, sume todas y el número resultante será el equivalente al sistema decimal.

Ejemplos:
• (Los números de arriba indican la potencia a la que hay que elevar 2) 5 1 4 1 3 0 2 1 1 0 0 1 2 = 1 · 2 5 + 1 · 2 4 + 0 · 2 3 + 1 · 2 2 + 0 · 2 1 + 1 · 2 0 = 32 + 16 + 0 + 4 + 0 + 1 = 53 7 1 6 0 5 0 4 1 3 0 2 1 1 1 0 1 2 = 1·2 7+0·2 6+0·2 5+1·2 4+0·2 3+1·2 2+1·2 1+1·2 0 = 128+0+0+16+0+4+2+1 = 151 5 1 4 1 3 0 2 1 1 1 0 1 2 = 1 · 2 5 + 1 · 2 4 + 0 · 2 3 + 1 · 2 2 + 1 · 2 1 + 1 · 2 0 = 32 + 16 + 0 + 4 + 2 + 1 = 55
 También se puede optar por utilizar los valores que presenta cada posición del número binario a ser transformado, comenzando de derecha a izquierda, y sumando los valores de las posiciones que tienen un 1.
3.3.4 Binario a decimal (con parte fraccionaria binaria)
1. Inicie por el lado izquierdo (la primera cifra a la derecha de la coma), cada número multiplíquelo por 2 elevado a la potencia consecutiva a la inversa (comenzando por la potencia −1, 2−1).
2. Después de realizar cada una de las multiplicaciones, sume todas y el número resultante será el equivalente al sistema decimal.
3.4 Operaciones con números binarios
3.4.1 Adición de números binarios
La tabla de sumar para números binarios es la siguiente:
Las posibles combinaciones al sumar dos bits son:
• 0 + 0 = 0
• 0 + 1 = 1
• 1 + 0 = 1
• 1 + 1 = 10
3.4.2 Sustracción de números binarios
El algoritmo de la resta en sistema binario es el mismo que 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 restas básicas 0 - 0, 1 - 0 y 1 - 1 son evidentes
3.4. OPERACIONES CON NÚMEROS BINARIOS
• 0 - 0 = 0
• 1 - 0 = 1
• 1 - 1 = 0
• 0 - 1 = 1 (se transforma en 10 - 1 = 1) (en sistema decimal equivale a 2 - 1 = 1)
3.4.3 Producto de números binarios
La tabla de multiplicar para números binarios es la siguiente: El algoritmo del producto en binario es igual que en números decimales; aunque se lleva a cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.
3.4.4 División de números binarios
La división en binario es similar a la decimal; la única diferencia es que a la hora de hacer las restas, dentro de la división, estas deben ser realizadas en binario.
3.5 Conversión entre sistema binario y octal
3.5.1 Sistema binario a octal
Debido a que el sistema octal tiene como base 8, que es la tercera potencia de 2, y que dos es la base del sistema binario, es posible establecer un método directo para convertir de la base dos a la base ocho, sin tener que convertir de binario a decimal y luego de decimal a octal.
Para realizar la conversión de binario a octal:
1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.
3.5.2 Octal a binario
Cada dígito octal se convierte en su binario equivalente de 3 bits y se juntan en el mismo orden.
3.6 Conversión entre binario y hexadecimal
3.6.1 Binario a hexadecimal
Para realizar la conversión de binario a hexadecimal:
1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
3) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda.
3.6.2 Hexadecimal a binario
Note que para pasar de Hexadecimal a binario, se remplaza el número Hexadecimal por el equivalente de 4 bits, de forma similar a como se hace de octal a binario.
3.7 Tabla de conversión entre decimal, binario, hexadecimal, octal, BCD, Exceso 3 y Gray o Reflejado

3.8 Factorización
• Tabla de conversión entre binario, factor binario, hexadecimal, octal y decimal
Capítulo 4
ASCII
ASCII(acrónimo inglés de American Standard Code for Information Interchange — Código Estándar Estadounidense para el Intercambio de Información), pronunciado generalmente [áski] o [ásci] o [ásqui], es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII. Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto como el teclado
4.1 Vista general
Las computadoras solamente entienden números. El código ASCII es una representación numérica de un carácter como ‘a’ o ‘@’. Como otros códigos de formato de representación de caracteres, el ASCII es un método para una correspondencia entre cadenas de bits y una serie de símbolos (alfanuméricos y otros), permitiendo de esta forma la comunicación entre dispositivos digitales así como su procesado y almacenamiento.
ASCII es, en sentido estricto, un código de siete bits, lo que significa que usa cadenas de bits representables con siete dígitos binarios (que van de 0 a 127 en base decimal) para representar información de caracteres.
4.2 Historia
El código ASCII se desarrolló en el ámbito de la telegrafía y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de Bell. Bell había planeado usar un código de seis bits, derivado de Fieldata, que añadía puntuación y letras minúsculas al más antiguo código de teleimpresión Baudot, pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense (ASA), que había empezado a desarrollar el código ASCII.
Otros órganos de estandarización han publicado códigos de caracteres que son idénticos a ASCII. Estos códigos de caracteres reciben a menudo el nombre de ASCII, a pesar de que ASCII se define estrictamente solamente por los estándares ASA/ANSI:
• La Asociación Europea de Fabricantes de Computadores (ECMA) publicó ediciones de su clón de ASCII, ECMA-6 en 1965, 1967, 1970, 1973, 1983, y 1991. La edición de 1991 es idéntica a ANSI X3.4-1986.[5]
• La Organización Internacional de Estandarización (ISO) publicó su versión, ISO 646 (más tarde ISO/IEC 646) en 1967, 1972, 1983 y 1991. En particular, ISO 646:1972 estableció un conjunto de versiones específicas para cada país donde los caracteres de puntuación fueron reemplazados con caracteres no ingleses. ISO/IEC 646:1991 La International Reference Version es la misma que en el ANSI X3.4-1986.
• La Unión Internacional de Telecomunicaciones (ITU) publicó su versión de ANSI X3.4-1986, Recomendación ITU T.50, en 1992. A principios de la década de 1970 publicó una versión como Recomendación CCITT V.3.
• DIN publicó una versión de ASCII como el estándar DIN 66003 en 1974.
• El Grupo de Trabajo en Ingeniería de Internet (IETF) publicó una versión en 1969 como RFC 20, y estableció la versión estándar para Internet, basada en ANSI X3.4-1986, con la publicación de RFC 1345 en 1992.
• La versión de IBM de ANSI X3.4-1986 se publicó en la literatura técnica de IBM
4.3 Los caracteres de control ASCII
El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible, sino para controlar dispositivos (como impresoras) que usaban ASCII. 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í?
4.4 Caracteres imprimibles ASCII
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.
4.5 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).
• 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.
4.6 Otros nombres para ASCII
• 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

No hay comentarios:

Publicar un comentario