Dialogar Con Ceros y Unos
Dialogar Con Ceros y Unos
El código ASCII
Una de las muchas aplicaciones del istema binario es una familia particular de caracteres
di eñados de tal forma que cada caracter tenga una longitud de 8 bits (1 byte).
Estos caracteres, denominado aifimwlléricos, son el conjunto de signos básicos
empleados en la comunicación convencional, y e le denomina códigoA CIl (siglas
de American Standard Code for Irifomlation lnterchange o «Código Estándar Americano
MEMORY BYTES
77
DIALOGAR CON CEROS Y UNOS
TABLA ASCII
Carácter Binario Dec. Carácter Binario Dec. Carácter Binario Dec.
00100000 32 @ 01000000 64 01100000 96
! 00100001 33 A 01000001 65 a 01100001 97
.. 00100010 34 B 01000010 66 b 01100010 98
# 00100011 35 e 01000011 67 e 01100011 99
$ 00100100 36 O 01000100 68 d 01100100 100
% 00100101 37 E 01000101 69 e 01100101 101
& 00100110 38 F 01000110 70 f 01100110 102
00100111 39 G 01000111 71 9 01100111 103
( 0010 1000 40 H 01001000 72 h 01101000 104
) 00101001 41 I 01001001 73 i 01101001 105
* 00101010 42 J 01001010 74 j 01101010 106
+ 00101011 43 K 01001011 75 k 01101011 107
00101100 44 l 01001100 76 I 01101100 108
- 00101101 45 M 01001101 77 m 01101101 109
00101110 46 N 01001110 78 n 01101110 110
/ 00101111 47 O 01001111 79 o 01101111 111
O 0011 0000 48 P 0101 0000 80 P 01110000 112
1 00110001 49 Q 0101 0001 81 q 01110001 113
2 0011 0010 50 R 01010010 82 r 01110010 114
3 00110011 51 S 01010011 83 s 01110011 115
4 0011 0100 52 T 01010100 84 t 01110100 116
5 00110101 53 U 01010101 85 u 01110101 117
6 00110110 54 V 01010110 86 v 01110110 118
7 00110111 55 W 01010111 87 w 01110111 119
8 0011 1000 56 X 0101 1000 88 x 01111000 120
9 00111001 57 Y 0101 1001 89 Y 01111001 121
78
DIALOGAR CON CEROS Y UNOS
Palabra Espacio
G O T O 2
tecleada en blanco
Traducción
al lenguaje 01000111 01001111 01010100 01001111 00100000 00110010
del ordenador
010001110100111101010100010011110010000000110010.
El sistema hexadecimal
El sistema hexadecimal es un segundo código de notable importancia en el ámbito
de los ordenadores. Se trata de un sistema de numeración que trabaja con dieciséis
dígitos único (de ahí «hexadecimal»), a diferencia del habitual, que trabaja con diez
(sdecimal»). El sistema hexadecimal, podría decirse, es el «segundo idioma» del orde-
nador después del binario. ¿Por qué? Recordemos que la unidad básica de memoria
de lo ordenadore ,el byte, está compuesto por ocho bits, lo que arroja hasta 2S = 256
combinacione diferentes de ceros y uno. Obsérvese que 28 = 24 X 24 = 16x 16.Es
decir, que la combinación de dos caracteres hexadecimales equivale a 1 byte. Los
dieciséis dígitos del sistema hexadecimal son los tradicionales 0, l , 2, 3, 4, 5, 6, 7,
8,9, y seis más e tablecidos por convenio: A, B, e, o, E, F. Para contar en sistema
hexadecimal se procede de modo siguiente:
79
DIALOGAR CON CEROS Y UNOS
leal (e:)
didón Ver Favoritos Herramientas Ayuda
[) X 19 [Sr
- -
Adelal"te Arriba Cortar Copiar Pegar Eliminar Deshacer Vistas
c:\
ar archivos o carpetas
Binario Hexadecimal
0000 O
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 e
1101 D
1110 E
1111 F
80
DIALOGAR CON CEROS Y UNOS
9 F 2
1001 1111 0010
así, 9F216= 1001111100102 (nótese el ubíndice 2, que indica que el número está
expresado en sistema binario).
81
DIALOGAR CON CEROS Y UNOS
Mensaje E d i c i o n e s
Equivalenoa
binaria según 01000101 01100100 01101001 01100011 01101001 01101111 01101110 01100101 01110011 001סס000
ASCII
Traducción a
45 64 69 63 69 6F 6E 65 73 20
hexadecimal
Mensaje (cont.) R B A
Traducción a hexadecimal 52 42 41
4564696369 6F 6E 65 73 20 52 42 41.
De un sistema numérico de 11 dígitos se dice también que está en base 11. Las mano hu-
manas po een diez dedos, y es ésa probablemente la razón de por qué se inventó el sistema
numérico decimal: el conteo se realizaba con ellos. Un número decimal, como el 7392,
representa una cantidad igual a 7 millares más 3 centenas más 9 decenas más 2 unidades,
Millares, centenas, decenas y unidades son potencias de la base del sistema numérico; en
este caso, de 10. El número 7392, por tanto, podría expresarse como:
Por convenio, se escriben únicamente los coeficientes. Además del sistema decimal
existen muchos otros sistemas de numeración (de hecho, su número es potencialmente
infinito). En este volumen hemos prestado especial atención a dos: el binario, de base 2,
y el hexadecimal, de base 16. En un istema binario de numeración los coeficientes ólo
tienen dos valores posibles: Oy 1. Los dígitos de los número binarios son coeficientes
de potencias de 2. Así, el número 110112 puede e cribir e también como
82
DIALOGAR CON CEROS Y UNOS
83
DIALOGAR CON CEROS Y UNOS
84
DIALOGAR CON CEROS Y UNOS
85
DIALOGAR CON CEROS Y UNOS
Supongamos que al final del trayecto el sistema receptor recibe el mensaje 1010110.
Nótese que esta combinación de ceros y unos no se encuentra entre los mensajes posi-
bles y,por tanto, debe tratarse de un error de transmisión. Para intentar corregir el error,
el sistema compara cada dígito con el conjunto de dígitos de posibles mensajes para
buscar la alternativa más probable. Para ello examinará la cantidad de dígitos distintos
para cada posición de la palabra errónea, tal y como se muestra a continuación.
86
DIALOGAR CON CEROS Y UNOS
Si sólo interesa detectar los errores, el número máximo que se podrá detectar
será (-l.
En el idioma de 16 caracteres expuesto más arriba, t = 3, de lo que se obtiene que
el dispositivo es capaz de detectar3-1 = 2 errores y de corregir (3-1): 2 = 1 error.
En 1997 se introdujo un protocolo para la transmisión segura de información entre redes inalám-
bricas denominado WEP (acrónimo del inglés Wired Equivalent Privacy, «Privacidad equiparable
a la transmisión por hiío»), Este protocolo incluye un algoritmo de encriptación denominado
RC4, con dos tipos de claves de 5 y de 13 caracteres ASCII, respectivamente. Se trata, en conse-
cuencia, de claves de 40 o 104 bits o, alternativamente, de 10 o 26 caracteres hexadecimales:
Las claves las proporciona el proveedor de la conexión, aunque el usuario suele poder carn-
biarlas. Antes de establecer la conexión, el ordenador solicita la clave. En la captura siguiente
se puede observar un mensaje de pericón de clave WEP donde se explicita su longitud en bits.
caracteres ASCII y caracteres hexadecimales.
(onhgurdnón inalámbrtra ~ J.
En realidad, las claves reales son de mayor longitud. A partir de las que el usuario le proporciona,
el algoritmo RC4 genera una clave nueva de más bits, que es la que se emplea para cifrar la
transmisión. Este tipo de criptograffa se denomina de llave pública y se explicará con más de-
talle en el capitulo 5. Un usuario que quiera cambiar su clave hará bien en recordar que es más
segura una clave de diez caracteres hexadecimales que otra de cinco caracteres alfanuméricos,
aunque su tamaño en bits sea el mismo. Aunque también es cierto que «jairne» es más fácil de
recordar que su equivalencia hexadecimal,«6A61696D65».
87
DIALOGAR CON CEROS Y UNOS
Las tarjetas de crédito y débito que ofrecen entidades bancarias y grandes superficies
se identifican esencialmente por los mismos grupos de dígitos y por un mismo algo-
ritmo de cálculo y comprobación, basado precisamente en nue tra «vieja amiga» la
aritmética modular. La mayoría de las tarjeta poseen 16 dígitos cuyo valor puede ser
cualquiera entre O y 9, agrupados en grupos de 4 digitos para su mejor visualización,
a los cuales denotaremos:
Cada grupo de dígitos codifica una información u otra: los cuatro primeros
(A, B, C, O) corresponden al identificativo de! banco o entidad que cede la tarjeta.
Cada banco tiene un número diferente que puede variar según e! continente, y que
además está relacionado con la marca de tarjeta. Por ejemplo, para el ea o de VISA
y de algunos bancos destacados son las siguientes.
ABCD Entidad
4940 Citibank
4024 Bank of America
4128 Citibank (EE.UU.)
4302 HSBC
El quinto dígito (E) corresponde al tipo de tarjeta e indica qué entidad financiera
gestiona esa tarjeta.
88
DIALOGAR CON CEROS Y UNOS
TIpo Entidad
3 American Express
4, O, 2 Visa
S, O Master Card
6 Discover
CLUB DE COMIDAS
Una de las primeras tarjetas de crédito en adquirir un importante volumen de aceptación fue
la del Diner's Club, literalmente «Club de Comidas». Su impulsor fue el norteamericano Frank
McNamara, quien logró que varios restaurantes aceptaran el pago a crédito tras la entrega de
una tarjeta personalizada que McNamara repartfa entre sus mejores clientes. De hecho, el uso
más habitual de las tarjetas de crédito en sus primeras décadas de existencia era el pago de
comidas y cenas por parte de los vendedores ambulantes.
89
DIALOGAR CON CEROS Y UNOS
Por ejemplo, y para el caso de una tarjeta numerada del siguiente modo:
1234567890123452,
1·2 = 2
3·2=6
5·2=10=>1+0=1
7·2=14=>1+4=5 (o bien 14-9=5)
9·2=18=>1+8=9
1·2 = 2
3·2=6
5·2 = 10 => 1+ O = 1
2+6+1+5+9+2+6+1=n
2+4+6+8+0+2+4+2=~
32 + 28 = 60
90
DIALOGAR CON CEROS Y UNOS
El número asociado a una tarjeta de crédito consta de 15 dígitos más un código de control,
agrupados en cuatro series de cuatro dlgitos cada serie. El dígito de control se calcula según el
algoritmo que queda reflejado en la tabla Siguiente.
B '::F";'¡.'[~".U. ·v
2 ___ ....::;O.c.
3 N°. Tarjeta 15 5 2 1 1 14 5 7 21 1--=-6~6~21 13 6 2 41
4
5 dígitos utilizados 5 2 4 5 7 2 6 6 2 362
6 dígitos posición par 2 4 7 6 6 3 2
7 Suma dígltos posición par 30
8 Número de dfgitos de lugar par mayoresque 4 3
9 Suma de lasdos cantidades anteriores 33
11Cl Oígitos posición impar 5 1 5 2 2 6
~1 Suma dígitos posición Impar 22
1. Sumar los dos resultadosanteriores más 1 56
1~ Restode dividir el resultado anterior por 10 6
1~ El O.e. es Osi el resultado anterior es Oen casocontrario es 10 menos el resultado anterior 4
¿Seria posible recuperar un dígito perdido? Sí, siempre que se trate de un número de
tarjeta válido. Averigüemos el valor de X en el número 4539 4512 03X8 7356.
Se empieza por multiplicar por 2 los números de las posiciones impares (4-3-4-
1-0-X-7-5) y dejándolos con un solo dígito.
4·2=8
3·2=6
4·2=8
1·2=2
0·2=0
X2=2X
7·2=14,14-9=5
5·2=10,10-9=1.
Sumamos lo dígitos de las posiciones pares y los nuevos de las posiciones im-
pares y se obtiene:
91
DIALOGAR CON CEROS Y UNOS
3O+41+2X=71+2X
El primer sistema de código de barras fue patentado el 7 de octubre de 1952 por los
norteamericanos arman WoodJand y Bernard Silver. Aunque el principio era el
mismo, su aspecto no: en lugar de las familiares barras,WoodJand y Silver pensaron en
círculos con céntricos. El primer uso oficial de un código de barras en un comercio
se dio en 1974, en un e tablecirniento de Troy, Ohio.
El código de barras moderno consiste en una serie de barras negras (que se codifican
en sistema binario como unos) y los espacios en blanco que quedan entre ellas (que lo
hacen como ceros), de diferentes anchos ambos, y que identifican artículos fisicos.Los
códigos suelen imprimirse en etiquetas y e leen mediante un dispositivo óptico. Este dis-
positivo, parecido a un escáner, mide la luz reflejada y deriva de ella la clave alfanumérica,
que a continuación transmite a un ordenador. Existen numeroso estándar de códigos de
O O O 1
Correspondencia entre el grosor de las barras y el del espacio que quede entre ellas
y los dígitos binarios.
92
DIALOGAR CON CEROS Y UNOS
barras, entre ellos: Code 128, Código 39, Codabar, EAN (apareció en 1976 en versiones
de 8 y 13 dígitos) o UPC (código universal de producto, usado principalmente en Es-
tados Unidos y disponible en versiones de 12 y 8 dígitos). El código más habitual es e!
EAN en su versión de 13 dígito , y es e! que se examinará aquí.A pesar de esta variedad
de normas, e! código de barras permite que todo producto pueda ser identificado en
cualquier parte de! mundo, de manera ágil y sin demasiado margen para e! error.
3h.~t 1
FIG. I
I t l • I ;.3
2 • 3 •
-------
12
FIG.IO
'NYE •• ~:
NOIIMA" J. WOODLAHD
eE:RHARD SI LV[~
,. lIT T>tflll AHORNn~
~~
93
DIALOGAR CON CEROS Y UNOS
Un código de barras del tipo EAN-13 es un número formado por 12 dlgitos más un decimo-
tercero llamado código de control.
G Empresa Producto
W 2
4 o 3 5 9 2 5 9 2 2
1 3 4 1 O 3 5 9 1 2 5 9 2 =R10
94
DIALOGAR CON CEROS Y UNOS
El código EAN-13
El término EAN procede de las siglas EII ropea n Article Number (<<NúmeroEuropeo
de Artículo») y u creación e remonta al año 1976. En la actualidad constituye
uno de los estándares de mayor implantación a lo largo y ancho de! globo. Los
códigos EA constan, habitualmente, de 13 dígito representados mediante barras
negras y espacio blancos que, de manera conjunta, determinan un código binario
de fácil lectura. El EAN-13 representa esos 13 dígitos por medio de 30 barras. Los
dígitos se encuentran distribuidos en tres partes: la primera, que consta de 2 o 3
números, indica e! código de! paí ; la segunda, que tiene 9 o 10 números, identi-
fica la empresa y e! producto; la tercera, de tan sólo un dígito, actúa como código
de control. Para un código ABCDEFGHIJKLM estas partes se descomponen del
modo siguiente:
• Los dos primeros (AB) forman e! código de! país de origen de! producto. A
España le corresponde el código 84, mientras que para Francia, por ejemplo,
es e! 83.
• Los cinco siguientes (CDEFG) identifican a la empresa productora.
• Los otros cinco (HIJKL) indican e! código de! producto que ha sido asignado
por la empre a.
• El último (M) es e! dígito de control. Para calculado se tienen que sumar los
dígitos situados en posición impar, empezando por la izquierda y sin contar
e! de control. Al valor resultante se le añade tres veces la suma de los dígitos
situados en las posiciones pares. El dígito de control es e! valor que hace
de la suma hallada anteriormente un múltiplo de 10. Como puede verse, e!
sistema de control recuerda enormemente al empleado para e! caso de las
tarjetas de crédito.
95
DIALOGAR CON CEROS Y UNOS
8413871003049
A+C+E+G+I+K+3(B+D+F+H+ J+L)=N
5701263900544
El código es correcto.
401332003X497
96
DIALOGAR CON CEROS Y UNOS
4+1+3+0+3+4(0+3+2+0+X+9)+7=64+3X=0 (mód.l0).
4+3X=0 (mód.l0).
4013320032497.
LOS CÓDIGOS QR
97