¿Cómo escribo “binario” en binario?

Seba Bortnik —  27 diciembre 2007 — 110 comentarios

Post anteriores: La computadora, los unos y los ceros..., ¿Cuántas clases de personas hay?

Llegamos tarde pero seguro… Realmente demoré en terminar este primer trío de post para comprender las ideas básicas del “por qué las compus utilizan unos y ceros“. En el anterior post había explicado brevemente cómo cada número en sistema decimal tiene su correspondiente número en sistema binario; lo cual no era tan complejo de comprender. El paso que sigue es preguntarse cómo representar con unos y ceros una letra o una palabra. Ya parece un poco más complejo y, de alguna forma, así lo es. De hecho, para resolver este problema, no alcanza la matemática sino más bien empiezan a jugar un rol fundamental los estándares.

La solución al problema de la representación de letras (y todo tipo de caracteres no numéricos) es la definición de un (o más de uno) estándar en donde a cada caracter se le asigna un número (en decimal digamos) correspondiente. De esta forma matemáticamente no hay un problema; ya sabemos convertir un número decimal en binario. Veamos un ejemplo simple y tonto que a mí me encantan. Yo tengo los números decimales 0, 1, 2 y 3. Puedo armar la tabla con los correspondientes números en binario:

0 – 00

1 – 01

2 – 10

3 – 11

Puedo ahora, agregar a cada valor un caracter que representaré con ese valor, como por ejemplo:

0 – 00 – a

1 – 01 – b

2 – 10 – c

3 – 11 – e

De esta forma, yo puedo representar palabras simples “uniendo” el valor de cada caracter y mostrandolo en binario, por ejemplo:

bebe – 1313 – 01110111

beba – 1310 – 01110100

beca – 1320 – 01111000

Creo que la explicación hasta aquí es suficiente para entender la idea. En la vida real, existen diferentes tablas de conversión de caracter a binario pero la más popular (y antigua más que nada) es la llamada ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estadounidense Estándar para el Intercambio de Información). Este es el estándar más utilizado para mantener la relación carácter-número. Muchos de nosotros la hemos utilizado (posiblemente sin saberlo) cuando en los teclados antiguos, utilizabamos la tecla Alt para generar algunos caracteres especiales. Por ejemplo, utilizabamos el Alt+64 para hacer la arroba (@). Es decir, la arroba se corresponde con el valor 64 en el código ASCII. En un principio, el ASCII estaba representado por 7 bits (un valor binario de 7 dígitos) por lo que se pueden representar 128 valores diferentes (el 1111111 en binario es dicho valor en decimal). Los primeros 32 valores se utilizan para caracteres de control como el salto de línea (enter) o el escape. Los siguientes 96 valores representan los caracteres imprimibles, ellos son los siguientes:

! ” # $ % & ‘ ( ) * +, -. / 0 1 2 3 4 5 6 7 8 9 :; < = > ?

@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _

` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~

Años más tarde de la creacíon del código ASCII, se creo el ASCII extendido. Este agrega un bit más quedando cada valor de 8 bits (un uno o un cero más) y pudiendo formar ahora 256 caracteres. De esta forma, los primeros 128 valores coinciden con la tabla ASCII clásica y se agregan nuevos caracteres hasta el valor 240. Entre estos nuevos caracteres, se encuentran las vocales con acentos, las eñes (ñ – Ñ) y la arroba, entre otros. La tabla ASCII extendida completa puede ser consultada en el sitio www.asciitable.com. A forma de resúmen, podemos observar que la creación de un estándar fue lo que soluciona el problema de la representación de letras en binario ya que matemática seguimos haciendo lo mismo que al pasar números de decimal a binario. Espero poder de esta forma “cerrar” las ideas básicas del porqué las compus utilizan unos y ceros y cómo lo hacen con los símbolos simples (números y palabras). Antes de terminar, puede quedar una duda más: suponiendo que tengo un valor cualquiera, digamos el 100 (en decimal), es decir el 1100100 en binario. ¿cómo sabe la Pc si se está representando el número 100 o el caracter d (ver tabla ascii)? Para explicarlo de forma simple y no dejar a la espera de los siguientes post al respecto; digamos que lo que importa es el contexto. Cuando en la Pc hay algún tipo de acción, el ordenador previamente sabe en qué formato se le está pasando la información (¿estoy leyendo un número o un código ascii?). Es decir, supongamos que nos comunicamos entre nosotros y yo les digo: “les paso un número binario: 1100010011010010110111001100001011100100110100101101111″. Obviamente que ninguno de nosotros se va a poner a convertir este valor a decimal pero para que se hagan una idea estamos hablando de un valor de más de 1 billón en sistema decimal. Pero si yo les dijera en cambio que les paso el mismo valor pero en código ascii se podría leer tranquilamente el valor antes mencionado. En un principio, simplemente se lo debe dividir en grupos de a 8 para que quede algo así:

01100010 01101001 01101110 01100001 01110010 01101001 01101111

Luego puedo traducir cada valor en decimal ya que estamos hablando de valores más pequeños:

01100010 01101001 01101110 01100001 01110010 01101001 01101111

98 105 110 97 114 105 111

Y finalmente podemos utilizar la tabla ASCII para convertir a caracteres y obtener la palabra:

01100010 01101001 01101110 01100001 01110010 01101001 01101111

98 105 110 97 114 105 111
b i n a r i o
Siempre en la computadora es importante conocer el contexto para poder comprender qué tipo de datos se están transmitiendo. Es decir, la computadora transmite “bloques” de información que tienen un cartel pegado que indica qué tipo de “bloque” se está transmitiendo.
Para quienes quieran desafiar su entendimiento (espero que se haya entendido), les dejo esta imágen que encontré en Codigo Geek. A ver si pueden leer el texto (utilizando la tabla ASCII) sin recurrir a la web de origen donde está la repuesta.

binariopalabra.jpg
About these ads

110 respuestas hacia ¿Cómo escribo “binario” en binario?

  1. 

    Pretty! This was a really wonderful article. Thank you for providing these details.

  2. 

    I feel this is one of the most important info for me.
    And i’m glad reading your article. However want to statement on few normal issues, The website style is ideal, the articles is truly great : D.
    Just right process, cheers

  3. 

    I like the helpful information you provide in your articles.
    I’ll bookmark your blog and check again here frequently.
    I am quite sure I’ll learn lots of new stuff right
    here! Good luck for the next!

  4. 

    My developer is trying to persuade me to move to .net from PHP.
    I have always disliked the idea because of the
    costs. But he’s tryiong none the less. I’ve been using Movable-type on numerous websites for about
    a year and am concerned about switching to another
    platform. I have heard very good things about blogengine.net.
    Is there a way I can import all my wordpress posts into it?
    Any help would be greatly appreciated!

  5. 

    Please let me know if you’re looking for a author for your blog. You have some really great posts and I feel I would be a good asset. If you ever want to take some of the load off, I’d love
    to write some material for your blog in exchange for a
    link back to mine. Please shoot me an email if interested.

    Many thanks!

Trackbacks y pingbacks:

  1. Google en Twitter y en binario « Mundo Binario - febrero 28, 2009

    [...] ¿Cómo escribo “binario” en binario? [...]

  2. Sobre IT en los grandes medios « Mundo Binario - abril 16, 2008

    [...] no me interesa hacerlo de forma marketinera, más allá del contenido del post. Por ejemplo, “¿Cómo escribo binario en binario?” es el post más leído del blog y supongo que el buen título habrá ayudado. Sin embargo, [...]

  3. Curiosidades Matemáticas « Mundo Binario - febrero 4, 2008

    [...] Luego de los post sobre números binarios, practicamente no volví a postear sobre matemáticas y hoy, es la oportunidad de retomar una [...]

  4. Se va el 11111010111. Bienvenido el 11111011000. « Mundo Binario - diciembre 29, 2007

    [...] además, uno de los últimos post (¿cómo escribo “binario” en binario?) tuvo un éxito importante, fue el más visto hasta el momento del blog y logró estar en los [...]

  5. meneame.net - diciembre 28, 2007

    01100010 01101001 01101110 01100001 01110010 01101001 01101111

    No, no me he vuelto loco escribiendo el título ni es ninguna inocentada. Pero así es cómo se escribe "binario" en binario. ¿Qué cómo se hace? pues en el enlace tenéis la explicación. Visto en Microsiervos: http://www.microsiervos.com/archivo...

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s