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