Capítulo 1
Bit
Bit es el acrónimo de Binary digit (o sea de ‘dígito
binario’, en español señalado como bit o bitio). Un bit es un dígito del
sistema de numeración binario. La capacidad de almacenamiento de una memoria
digital también se mide en bits
1.1 Combinaciones de bits
Con un bit podemos
representar solamente dos valores o dos diferentes estados, que suelen
representarse como 0, 1.[4] Para representar o codificar más información en un
dispositivo digital, necesitamos una mayor cantidad de bits. Si usamos dos bits,
tendremos cuatro combinaciones posibles:
• 0 0 - Los dos están “apagados”
• 0 1 - El primero está “apagado” y el segundo “encendido”
• 1 0 - El primero
está “encendido” y el segundo “apagado”
• 1 1 - Los dos están “encendidos”
1.2 Valor de posición
En cualquier sistema
de numeración posicional, el valor de los dígitos depende de la posición en que
se encuentren. En el sistema decimal, por ejemplo, el dígito 5 puede valer 5 si
está en la posición de las unidades, pero vale 50 si está en la posición de las
decenas, y 500 si está en la posición de las centenas. Generalizando, cada vez
que nos movemos una posición hacia la izquierda el dígito vale 10 veces más, y
cada vez que nos movemos una posición hacia la derecha, vale 10 veces menos
1.3 Bits más y menos significativos
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
(mayor valor) dentro del conjunto, análogamente, se llama bit menos
significativo (LSB) al bit que tiene un menor peso dentro del conjunto.
1.4 Little endian y Big endian
Little endian y big
endian se refieren al orden que las máquinas asignan a los bytes que
representan números o valores numéricos. 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. En los computadores, cada byte se identifica con su posición en la
memoria (dirección). Cuando se manejan números de más de un byte, estos bytes
también deben estar ordenados de menor a mayor, indicando la posición del byte
menos significativo y del byte más significativo
1.5 Arquitecturas de 4, 8, 16, 32 y 64 bits
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 (ALU). Un microprocesador
de 4 bits tiene registros de 4 bits y la ALU hace operaciones con los datos en
esos registros de 4 bits, mientras que un procesador de 8 bits tiene registros
y procesa los datos en grupos de 8 bits
Capítulo 2
Byte
Byte (B) (pronunciada [bait] o ['bi.te]) es la unidad de
información de base utilizada en computación y en telecomunicaciones, y que
resulta equivalente a un conjunto ordenado de bits (generalmente 8 bits por lo
que en español también se le denomina octeto)
2.1 Visión general
Se usa como unidad de
información digital en combinación con los prefijos del SI o los prefijos
binarios.
2.1.1 Definición
1. Es una secuencia contigua de bits en un flujo de datos
serie, como en comunicaciones por módem o satélite, o desde un cabezal de disco
duro, y es la unidad de datos más pequeña con significado. Estos bytes pueden
incluir bits de inicio, parada o paridad, y según los casos, podrían contener
de 7 a 12 bits, para así contemplar todas las posibilidades del código ASCII de
7 bits, o de extensiones de dicho código.
2. Es un tipo de datos o un sinónimo en ciertos lenguajes de
programación. En el lenguaje C por ejemplo, se define byte como la “unidad de
datos de almacenamiento direccionable lo suficientemente grande como para
albergar cualquier miembro del juego de caracteres básico del entorno de
ejecución” (cláusula 3.6 del C estándar). En C, el tipo de datos unsigned char
es tal que al menos debe ser capaz de representar 256 valores distintos
(cláusula 5.2.4.2.1). La primitiva de Java byte está siempre definida con 8
bits siendo un tipo de datos con signo, tomando valores entre –128 y 127
2.2 Historia
2.2.1 Werner Buchholz
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 (el diseño de producción
redujo este hasta campos de 3 bits, permitiendo desde uno a ocho bits en un
byte).
2.3 Visión detallada
2.3.1 Controversias
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.
2.3.2 Múltiplos del byte
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. Esto se debe a que los prefijos del SI
se basan en base 10 (sistema decimal), y los prefijos binarios se basan en base
2 (sistema binario), por ejemplo:
• kibibyte
= 1024 B = 2^10 bytes.
• kilobyte
= 1000 B = 10^3 bytes
2.3.3 Otras definiciones
La palabra byte también
tiene otras definiciones: 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. (Esto es, la unidad de datos binarios más
pequeña en que la computación es significativa, o se pueden aplicar las cotas
de datos naturales.)
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 (0 y 1). Es uno de los que se utilizan en las computadoras, debido a
que estas trabajan internamente con dos niveles de voltaje, por lo cual su
sistema de numeración natural es el sistema binario (encendido 1, apagado 0)
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.
El sistema binario moderno fue documentado en su totalidad
por Leibniz, en el siglo XVII, en su artículo "Explication de
l'Arithmétique Binaire". En él se mencionan los símbolos binarios usados
por matemáticos chinos. Leibniz utilizó el 0 y el 1, al igual que el sistema de
numeración binario actual.
3.1.1 Aplicaciones
En 1937, Claude
Shannon realizó su tesis doctoral en el MIT, en la cual implementaba el Álgebra
de Boole y aritmética binaria utilizando relés y conmutadores por primera vez
en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y
Relés, la tesis de Shannon básicamente fundó el diseño práctico de circuitos
digitales.
3.2 Representación
Ejemplo: el sistema
binario puede ser representado solo por dos dígitos. Un número binario puede
ser representado por cualquier secuencia de bits (dígitos binarios), que suelen
representar cualquier mecanismo capaz de usar dos estados mutuamente
excluyentes.
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. A continuación se
ordenan los restos empezando desde el último al primero, simplemente se colocan
en orden inverso a como aparecen en la división, se les da la vuelta. Este será
el número binario que buscamos.
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. (Por ejemplo, al multiplicar 0.6 por 2 obtenemos como
resultado 1.2 lo cual indica que nuestro resultado es un uno (1) en binario,
solo se toma la parte decimal del resultado).
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.
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, 2^0 ).
2. Después de realizar cada una de las multiplicaciones,
sume todas y el número resultante será el equivalente al sistema decimal.
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.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:
• 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.
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.
Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido
desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI)
como una refundición o evolución de los conjuntos de códigos utilizados
entonces en telegrafía. 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.
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. El código de caracteres ASCII —o una extensión compatible — se
usa casi en todas las computadoras, especialmente con computadoras personales y
estaciones de trabajo. El nombre más apropiado para este código de caracteres
es “US-ASCII”
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. Baudot ayudó en la automatización del envío y recepción de
mensajes telegráficos, y tomó muchas características del código Morse; sin
embargo, a diferencia del código Morse, Baudot usó códigos de longitud
constante.
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. Por ejemplo, el carácter 10 representa la función “nueva línea”
(line feed), que hace que una impresora avance el papel, y el carácter 27
representa la tecla “escape” que a menudo se encuentra en la esquina superior
izquierda de los teclados comunes. El código 127 (los siete bits a uno), otro
carácter especial, equivale a “suprimir” (“delete”).
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. 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 estadounidense, pero sólo en estos
estándares, se llama también “opening single quotation mark”), una tilde o una
“marca de respiración”.
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 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.
4.7 Arte ASCII
El código de
caracteres ASCII es el soporte de una disciplina artística minoritaria, el arte
ASCII, que consiste en la composición de imágenes mediante caracteres
imprimibles ASCII. El efecto resultante ha sido comparado con el puntillismo,
pues las imágenes producidas con esta técnica generalmente se aprecian con más
detalle al ser vistas a distancia. El arte ASCII empezó siendo un arte
experimental, pero pronto se popularizó como recurso para representar imágenes
en soportes incapaces de procesar gráficos, como teletipos, terminales, correos
electrónicos o algunas impresoras.
No hay comentarios:
Publicar un comentario