3.3.1
|
Decimal a
binario . . . . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
13
|
3.3.2
|
Decimal (con decimales) a binario . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
14
|
3.3.3
|
Binario a
decimal . . . . . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
15
|
3.3.4
|
Binario a decimal (con parte fraccionaria binaria)
|
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
16
|
3.4 Operaciones
con números binarios . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 16
|
|
3.4.1 Adición
de números binarios . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
16
|
|
3.4.2 Sustracción
de números binarios
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
16
|
|
3.4.3 Producto
de números binarios .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
17
|
|
3.4.4 División
de números binarios . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
18
|
3.5
|
Conversión entre sistema binario y octal
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
18
|
|
3.5.1 Sistema
binario a octal . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
18
|
|
3.5.2 Octal
a binario . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
18
|
3.6
|
Conversión entre binario y hexadecimal
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
19
|
|
3.6.1 Binario
a hexadecimal . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
19
|
|
3.6.2 Hexadecimal
a binario . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
19
|
3.7 Tabla de conversión entre decimal, binario, hexadecimal,
octal, BCD, Exceso 3 y Gray o Reflejado . 19
|
3.8
|
Factorización . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
19
|
3.9
|
Véase también . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
19
|
3.10
|
Referencias . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
19
|
3.11
|
Enlaces externos
. . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
20
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 ASCII
21
4.1
|
Vista general . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
22
|
4.2
|
Historia . . .
. . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
22
|
4.3
|
Los caracteres de control ASCII
|
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
23
|
4.4
|
Caracteres
imprimibles ASCII
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
24
|
4.5
|
Rasgos estructurales
. . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
24
|
4.6
|
Otros nombres
para ASCII . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
24
|
4.7
|
Variantes
de ASCII . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
25
|
4.8
|
Arte ASCII
. . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
25
|
4.9
|
Véase también . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
26
|
|
4.9.1 Variantes ASCII de computadoras específicas
|
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
27
|
4.10
|
Notas y referencias . . . . . . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
27
|
|
4.10.1 Referencias generales . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
27
|
4.11
|
Enlaces externos
. . . . . . . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
27
|
4.12
|
Origen
|
del texto y las imágenes, colaboradores y licencias
|
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
28
|
|
4.12.1
|
Texto . . .
. . . . . . . . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
28
|
|
4.12.2
|
Imágenes . . . . . . . . . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
29
|
|
4.12.3
|
Licencia del
contenido . . . . . . . . . . . . .
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
.
|
29
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BIT
Lo usual es que un registro digital u otras memorias digitales
vinculadas con la computación y/o con las telecomu- nicaciones, tengan una capacidad
de representación de informaciones de por ejemplo 8 bits, o 32 bits, o 64 bits,
o 16 bits, etc; una memoria binaria tiene una capacidad efectiva de representación
de un bit
En el sistema de numeración binario se usan solo dos dígitos,
el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores:
0 o 1.
Se puede imaginar un bit como una bombilla que puede estar en
uno de los siguientes dos estados:
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. Con él,
podemos representar dos valores cualesquiera, como verdadero o falso, abierto o
cerrado, blanco o negro, norte o sur, masculino o femenino, rojo o azul, etc. Basta
con asignar uno de esos valores al estado de “apagado” (0), y el otro al estado
de “encendido”.
1.1 Combinaciones
de bits
Con un bit podemos representar solamente dos valores o dos diferentes
estados, que suelen representarse como 0,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”
.
A través de secuencias de bits, se puede
codificar cualquier valor
discreto como números, palabras,
e imágenes. Cuatro bits forman un
nibble, y pueden representar hasta
24 = 16 valores diferentes; ocho bits forman un
octeto, y se pueden representar
hasta 28 = 256 valores diferentes. En general,
con un número n de bits pueden representarse hasta 2n valores o estados diferentes.
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.
En el sistema binario es similar cada vez que un dígito binario (bit) se desplaza
una posición hacia la izquierda vale el doble, y cada vez que se mueve hacia la
derecha, vale la mitad.
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 es el subíndice
para los números en el sistema decimal y el 2 para los del sistema binario.
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 al bit que tiene
un mayor peso) dentro del conjunto, análogamente, se llama
bit menos significativo) al bit que tiene un menor peso dentro del conjunto.
En un byte, el bit más significativo es el de la posición 7, y el menos
significativo es el de la
posición 0.
El bit más significativo es el que se representa en el extremo izquierdo y el menos
significativo el del extremo
derecho.
1.4 Little
endian y Big endian
Little endian y big endian se re
fieren 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 signi
ficativos en el extremo más bajo
de la memoria, mientras que una máquina big endian asigna los bytes menos signi
ficativos en el extremo más alto. En las computadores, cada
byte se identi
fica con su posició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 signi
ficativo y del byte más signi
ficativo.
Independiente de si la máquina es de arquitectura little endian
o big endian, los bits dentro de cada byte siempre están en el mismo orden, con
el bit más significativo
a la izquierda y el menos significativo
a la derecha. Los registros del procesador, que pueden ser de 4 a 64 bits, y más,
también tienen sus bits en el mismo orden en ambos tipos de máquina. La diferencia
entre little y big endian solo existe externamente, en el orden en que los bytes
se representan en memoria.
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 re
fiere 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.
Cuando se habla de procesadores de, digamos 32 bits, nos referimos
a su capacidad de procesar datos en hasta 32 bits). La denominación de “microprocesador
de 32 bits” no se refiere
al tamaño del bus de datos del CPU ni del bus de direcciones, sino a su capacidad
de trabajar normalmente con los datos en el número máximo de bits (salvo alguna
excepción.
Byte
Byte es la
unidad de información de
base utilizada en computación y en tele- comunicaciones, y que resulta equivalente
a un conjunto ordenado de bits
La unidad byte no tiene
símbolo establecido internacionalmente.
2.1 Visión
general
2.1.1 Definición
Byte proviene de como la cantidad más pequeña de datos que un
ordenador podía “mor- der” a la vez.
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 signi
ficado.
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 de
fine byte como la “unidad de datos de almacenamiento direccionable
lo su
ficientemente 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 de
finida con 8 bits siendo un tipo
de datos con signo, tomando valores entre –128 y 127.
Byte
Byte es la
unidad de información de
base utilizada en computación y en tele- comunicaciones, y que resulta equivalente
a un conjunto ordenado de bits
La unidad byte no tiene
símbolo establecido internacionalmente.
2.1.2 Comparativa
De una forma aproximada, las equivalencias entre bytes y objetos
reales son:
2.2 Historia
2.2.1 Werner
Buchholz
El término byte fue acuñado por Werner Buchholz en . Originalmente
fue de
finido en instrucciones
de 4 bits, permitiendo desde uno hasta dieciséis
bits en un byte ). Los equipos típicos de E/S de este periodo utilizaban unidades
de seis bits, pero tras la necesidad de agregar letras minúsculas, así como una
mayor cantidad de símbolos y signos de puntuación, se tuvieron que idear otros modelos
con mayor cantidad de bits. Un tamaño
fijo de byte de 8 bits se adoptó posteriormente y se promulgó como
un estándar por el
IBM S/360.
2.3 Visión
detallada
2.3.1 Controversias
Los bytes de 8 bits se integran
firmemente en estándares comunes como
Ethernet y HTML.
Sin embargo, en la historia otros ordenadores o computadoras
han tenido bytes cuyo valor no era de 8 bits, por ejemplo:
Octote
El término se utiliza ampliamente como un sinónimo preciso donde
la ambigüedad es 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.
2.4.9 UNIDADES RELACIONADAS
2.3.2 Múltiplos
del byte
Los pre
fijos
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 pre
fijo
utilizado los bytes resultantes tienen valores diferentes.
Múltiplos utilizando los
prefijos del Sistema Internacional
Múltiplos utilizando los
prefijos ISO/IEC 80000-13
2.3.3 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.
2.3.4 Otras unidades con el mismo símbolo
Byte comparte símbolo (B) con:
• Boro, un elemento químico de la tabla periódica.
• Belio, una unidad logarítmica utilizada en acústica, electricidad,
telecomunicaciones y otras especialidades, no se utiliza por ser demasiado grande
en la práctica, y por eso se utiliza el decibelio.
2.4 Unidades
relacionadas
2.4.1 Información
fraccional y Nibbles
Los primeros microprocesadores que eran utilizados para implementar rutinas de
aritmética decimal. Estas cantidades de cuatro bits se llamaron ".
A la mitad de un byte de ocho bits se llama
nibble o un dígito hexadecimal. El nibble
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.
La información fraccional normalmente se mide en
bits, Nibbles, nats o bans.
Sistema binario
3.1 Historia
del sistema binario
El matemático indio
Pingala presentó la primera descripción
que se conoce de un sistema de numeración binario en el siglo tercero, lo cual coincidió
con su descubrimiento del concepto del número cero.
Una serie completa de 8 trigramas y 64 hexagramas y números binarios
de 6 bits eran conocidos en la antigua China en el texto clásico del
I Ching.
En 1605
Francis Bacon habló de un sistema
por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios,
que podrían ser codi
ficadas
como variaciones apenas visibles en la fuente de cualquier texto arbitrario.
El sistema binario moderno fue documentado en su totalidad por
Leibniz, en el siglo XVII. En él
se mencionan los símbolos binarios usados por matemáticos chinos.
En
1854, el matemático
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. Dicho sistema desempeñaría
un papel fundamental en el desarrollo del sistema binario actual, particularmente
en el desarrollo de circuitos electrónicos.
3.1.1 Aplicaciones
En de 1937,
George Stibitz, construyó una computadora
que utilizaba la suma binaria para realizar los cálculos
El 8 de enero de 1940 terminaron el diseño de una “Calculadora
de Números Complejos que era capaz de realizar
cálculos con
números complejos.
3.2. REPRESENTACIÓN
13
3.2 Representación
El sistema binario puede ser representado solo por dos dígitos.
Un número binario puede ser representado por cualquier secuencia
de bits que suelen represen- tar cualquier mecanismo capaz de usar dos estados mutuamente
excluyentes. Las siguientes secuencias de símbolos podrían ser interpretadas como
el mismo valor numérico binario:
El valor numérico representado en cada caso depende del valor
asignado a cada símbolo.
s 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 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.
Otra forma de conversión consiste en un método parecido a la
factorización en
números primos.. Este método consiste
también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos
un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos
dividiendo entre dos, hasta llegar a 1.
Después solo nos queda tomar el último resultado de la columna izquierda y todos
los de la columna de la derecha y ordenar los dígitos de abajo a arriba.
Existe un último método denominado de distribución. Consiste
en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que
su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151,
para el que se necesitarán las 8 primeras
potencias de 2, ya que la siguiente,
28 =256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por
lo que aún faltarán 23, 151-128 = 23, para llegar al 151. Este valor se conseguirá
distribuyendo unos entre las potencias cuya suma dé el resultado buscado y poniendo
ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es,
16, 4, 2 y 1, respectivamente.
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
2. Después de realizar cada una de las multiplicaciones, sume
todas y el número resultante será el equivalente al sistema decimal.
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.
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
Note que al sumar 1 + 1 es 102 , es decir, llevamos 1 a la siguiente
posición de la izquierda (
acarreo). Esto es equivalente en el sistema decimal a sumar
9 + 1, que da 10: cero en la posición que estamos sumando y un 1 de acarreo a la
siguiente posición.
Se puede convertir la operación binaria en una operación decimal,
resolver la decimal, y después transformar el resultado en un (número) binario.
Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro
ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 .A continuación se suma el acarreo a la siguiente
columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas las columnas (exactamente
como en decimal).
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)
La resta 0 - 1 se resuelve igual que en el sistema decimal, tomando
una unidad prestada de la posición siguiente: 0
- 1 = 1 y me llevo 1 (este
valor se resta al resultado que obtenga, entre el minuendo y el sustraendo de la
siguiente
columna), lo que equivale a decir en el sistema decimal, 2 -
1 = 1.
Para simplificar
las restas y reducir la posibilidad de cometer errores hay varios métodos:
• Dividir los números
largos en grupos. En el siguiente ejemplo, vemos cómo se divide una resta larga
en tres restas cortas:
• Utilizando el
complemento a dos (C2). La resta
de dos números binarios puede obtenerse sumando al minuendo el «complemento a dos»
del sustraendo.
• Utilizando el
complemento a uno. La resta de dos
números binarios puede obtenerse sumando al minuendo el complemento a uno del sustraendo
y a su vez sumarle el bit que se desborda.
3.4.3 Producto
de números binarios
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.
En sistemas electrónicos, donde suelen usarse números mayores,
se utiliza el método llamado
algoritmo de Booth.
11101111 111011 11101111
11101111 00000000 11101111 11101111 11101111
11011100010101
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. Este método se describe a continuación:
Para realizar la conversión de binario a octal, realice lo siguiente:
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.
Si el número binario tiene parte decimal, se agrupa de tres
en tres desde el punto decimal hacia la derecha siguiendo los mismos criterios establecidos
anteriormente para números enteros.
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
19
3.6 Conversión
entre binario y hexadecimal
3.6.1 Binario
a hexadecimal
Para realizar la conversión de binario a hexadecimal, realice
lo siguiente:
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
ASCII
ASCII, 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 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 rede
finieron algunos códigos de control
para formar el código conocido como US-ASCII.
El código ASCII utiliza 7 bits para representar los caracteres,
aunque inicialmente empleaba un bit adicional (
bit de paridad) que se usaba para detectar
errores en la transmisión. A menudo se llama incorrectamente ASCII a otros
códigos de caracteres de 8 bits,
como el estándar
ISO-8859-1, que es una extensión que utiliza 8 bits para proporcionar
caracteres adicionales usados en idiomas distintos al inglés, como el español.
ASCII fue publicado como
estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad de
fine códigos para 32 caracteres no imprimibles,
de los cuales la mayoría son
caracteres de
control que tienen efecto sobre cómo se procesa el texto, más
otros 95 caracteres imprimibles que les siguen
en la numeración (empezando por el carácter espacio).
Casi todos los sistemas informáticos actuales utilizan el código
ASCII o una extensión compatible para represen- tar textos y para el control de
dispositivos que manejan texto como el teclado. No deben confundirse los códigos
ALT+número de teclado con los códigos 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 ‘@’.[1]
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, permitiendo de esta forma la comunicación entre dispositivos digitales así como
su procesado y almacenamiento. El código de caracteres ASCIIo una extensión compatible
se usa casi en todas las computadoras El
nombre más apropiado para este código de caracteres es “US-ASCII”.
ASCII es un código de siete
bits, lo que signi
fica que usa cadenas de bits representables
con siete dígitos binarios para representar información de caracteres. El código
ASCII de
fine una relación
entre caracteres especí
ficos
y secuencias de bits; además de reservar unos cuantos códigos de control para el
procesador de textos, y no de
fine
ningún mecanismo para describir la estructura o la apariencia del texto en un documento;
estos asuntos están especi
ficados
por otros lenguajes como los
lenguajes de etiquetas.
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. Comparado con los primeros
códigos telegrá
ficos, el
código propuesto por Bell y ASA resultó en una reorganización más conveniente para
ordenar listas (especialmente porque estaba ordenado alfabéticamente) y añadió características
como la '
secuencia de escape'. La Agencia
de Estándares Estadounidense (ASA), que se
convertiría más tarde en el Instituto Nacional Estadounidense de Estándares (
ANSI), publicó por primera
vez el código ASCII en 1963. El ASCII publicado en 1963 tenía una
flecha apuntando hacia arriba (↑)
en lugar del circun
flejo
(^) y una
flecha apuntando
hacia la izquierda en lugar del guión bajo (_). La versión de 1967 añadió las letras
minúsculas, cambió los nombres de algunos códigos de control y cambió de lugar los
dos códigos de control ACK y ESC de la zona de letras minúsculas a la zona de códigos
de control. ASCII fue actualizado en consecuencia y publicado como ANSI X3.4-1968, ANSI X3.4-1977, y
finalmente ANSI X3.4-1986. 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 de
fine 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.
El código ASCII también está incluido en su probable relevo,
Unicode, constituyendo los primeros 128 caracteres (o los
'más bajos’).
4.3 Los caracteres
de control ASCII
El código ASCII reserva los primeros para
caracteres de control: códigos no
pensados originalmente para representar información imprimible, sino para controlar
dispositivos que usaban ASCII. Dado que el
código 0 era ignorado, fue posible dejar huecos 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. ESCape y SUBstitute permitían a un protocolo de comunicaciones,. Los
diseñadores del código ASCII idearon los caracteres de separación para su uso en
sistemas de cintas magnéticas. Dos de los caracteres de control de dispositivos,
comúnmente llamados
XON y XOFF generalmente ejercían funciones de caracteres de
control de flujo para controlar el
flujo hacia un dispositivo lento desde un dispositivo rápido, de forma
que los datos no saturasen la capacidad de recepción del dispositivo lento y se
perdiesen. Los primeros usuarios de ASCII adoptaron algunos de los códigos de control
para representar “metainformación” como
final-de-línea, principio/
final de un elemento de datos, etc. Estas asignaciones a menudo entraban
en con
flicto, así que parte
del esfuerzo de convertir datos de un formato a otro comporta hacer las conversiones
correctas de metainformación.. Actualmente los usuarios de ASCII usan menos los
caracteres de control, Los lenguajes modernos de etiquetas, los protocolos modernos
de comunicación, el paso de dispositivos basados en texto a basados en grá
ficos, el declive de las teleimpresoras,
las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayoría de
caracteres de control.
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 pre
fijados con el valor 0011 en binario (esto signi
fica que la conversión
BCD-ASCII es una simple cuestión
de tomar cada unidad bcd y pre
fijarla
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
•• IBM367
• cp367
• csASCII
De estos, sólo los nombres “US-ASCII” y “ASCII” se usan ampliamente.
A menudo se encuentran en el parámetro de “código de caracteres” opcional en la
cabecera Content-Type de algunos mensajes
MIME, en el elemento equivalente
“meta” de algunos documentos
HTML, y en la parte de declaración de codi
ficación de carácter de la cabecera
de algunos documentos
XML.
4.7 Variantes
de ASCII
A medida que la tecnología informática se difundió, 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. La
ISO 646, el primer intento de remediar el sesgo pro-inglés
de la codi
ficación de caracteres,
creó problemas de compatibilidad, pues también era un código de caracteres de 7
bits. No especi
ficó 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 codi
ficado el tex- to, y, consecuentemente, los procesadores de texto podían
tratar una sola variante. La tecnología mejoró y aportó medios para representar
la información codi
ficada
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. Algunos
sistemas operativos como
DOS, podían trabajar con esas páginas de código, y los fabri-
cantes de
computadoras personales incluyeron
soporte para dichas páginas en su hardware. Los estándares de ocho bits como
ISO 8859 y Mac OS Roman fueron desarrollados
como verdaderas extensiones de ASCII, dejando los primeros 127 caracteres intactos
y añadiendo únicamente valores adicionales por encima de los 7-bits. Esto permitió
la representación de un abanico mayor de lenguajes, pero estos estándares continuaron
sufriendo incompatibilidades y limitaciones.
Todavía hoy,
ISO-8859-1 y su variante y el código ASCII original de 7 bits
son los códigos de carácter más comúnmente utilizados.
Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 de
finen un conjunto de caracteres
mucho mayor, y sus diferentes formas de codi
ficación han empezado a reemplazar ISO 8859 y ASCII rápidamente en
muchos entornos. Mientras que ASCII básicamente usa códigos de 7-bits, Unicode y
UCS usan “code points” o apuntadores relativamente abstractos: números que asignan
secuencias de 8 o más bits a caracteres. Para permitir la compatibilidad, Unicode
y UCS asignan los primeros 128 apuntadores a los mismos caracteres que el código
ASCII. De esta forma se puede pensar en ASCII como un subconjunto muy pequeño de
Unicode y UCS. La popular codi
ficación
UTF-8 recomienda el uso de uno a cuatro valores de 8 bits
para cada apuntador, donde los primeros 128 valores apuntan a los mismos caracteres
que ASCII. Otras codi
ficaciones
de caracteres como
UTF-
16 se parece a ASCII en cómo representan los primeros 128
caracteres de Unicode, pero tienden a usar 16 a 32 bits por carácter, así que requieren
de una conversión adecuada para que haya compatibilidad entre ambos códigos de carácter.
La palabra ASCIIbético (o, más habitualmente, la palabra “inglesa” ASCIIbetical)
describe la ordenación según el orden de los códigos ASCII en lugar del orden alfabético.[6]
La abreviatura ASCIIZ o ASCIZ se refiere a una cadena de caracteres terminada
en cero). Es muy normal que el código ASCII sea embebido en otros sistemas de codificación más sofisticados y por esto debe tenerse
claro cual es papel del código ASCII en la tabla o mapa de caracteres de una computadora.
4.8 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 represen- tar imágenes en soportes
incapaces de procesar grá
ficos,
como
teletipos, terminales, correos electrónicos o algunas impresoras.
Aunque se puede componer arte ASCII manualmente mediante un editor
de textos, también se pueden convertir automáticamente imágenes y vídeos en ASCII
mediante software, como la librería que ha alcanzado cierta popularidad. Aalib está
soportada por algunos programas de diseño gráfico, juegos y reproductores de vídeo.