Imágenes

41 Comentarios

Teclado hardcore para auténticos programadores

¿Te consideras un crack programando? Si la respuesta es afirmativa, entonces quizá te interese este teclado, aunque eso sí, ten en cuenta que no te servirán de nada tus conocimientos previos de C, C++, Java y demás milongas. ¡A picar código máquina se ha dicho!:

41 COMENTARIOS

  1. bruno

    juas juas juas juas juas no se me da mal la programacion pero admito que no tengo nivel suficiente para utilizar un artefacto como ese 😀

    Responder  
  2. Lucas

    Naaaaaa, yo en la fac programaba en nemonicos y lo pasaba a comandos y direcciones de memoria binarias.

    Cualquiera que se considere desarrollador, debe conocer ésto, sino, no mola, jaja.

    Responder  
  3. Anónimo

    Trackback desde Raruneces

    Si te gusta programar, pero crees que ya dominas todos los lenguajes existentes, o simplemente ya haces unos programas de la leche… quizás te interese probar un nuevo reto.

    Responder  
  4. pueseso

    puestos a suprimir todaví­a más, con una tecla bastarí­a (según el tiempo q lo tengas pulsado, sea un 0, un 1 o un Done) -> para reducir todaví­a más los costes 😉

    Responder  
  5. SUPER PICH

    Puestos a suprimir incluso todaví­a mucho más, con mi pene bastarí­a (segun el tiempo que lo tenga en tu boca, será un 0, un 1 y si eyaculo, un done) -> para reducir incluso todaví­a mucho más los costes x_x

    Responder  
  6. Yo

    Puestos a reducir costes… ¿que tal si te dejan 2 cables pelaos y aplicamos la idea de que si dejamos los cables juntos poco tiempo sale 0, un poco mas de tiempo y sale 1, y un rato largo sale “done”?

    Como se nota que en este post hay verdaderos programadores, es ver algo y buscar la manera de reducir costes, el pan nuestro de cada dia.

    Responder  
  7. Anónimo

    Yo lo tengo claro. Para abaratar costes, el teclado no deberí­a existir. Deberí­amos puentear directamente los buses de la máquina.

    Sobre el teclado, es una lástima que no posea un 2, pues no podremos reproducir el código ternario de Bender cuando se vuelve religioso:
    010101110101010111010101010101….0101001010111010101012

    Responder  
  8. Binary-God

    Pues yo me programé toda una suite ofimática puenteando los cables del teclado, +5V para un “1”, GND para un “0”. Juas!!

    Responder  
  9. Ann

    Mas sencillo todavia: un garrotazo en la cabeza en un 1, un no garrotazo es un 0… no se por que los neadertales se extinguieron , la verdad, debian ser unos maravillosos programadaores!.

    Responder  
  10. Panete

    Ta curioso que traiga sus dos rejillas de ventilación, porque desde luego cuando te pongas a escribir en binario las tablas de virtualidad para resolver el polimorfismo al llamar a un método remoto de una objeto servidor con clase serializada y cargado usando CORBA, esto se tiene que calentar un poquito.

    Me lo dijeron en 1º y en 5º: en informática todo se puede, hasta en ensamblador.

    Responder  
  11. Josito

    Oye que con los programas de la Microhobby un teclado de esos con caracteres hexadecimales del 0 al F y un INTRO te pasabas un rato divertido metiendo lineas…

    Responder  
  12. pablo

    pos a mi me hace gracia y no tengo ni putiiiisima idea de programar, ni de la mayoria de los comentarios q haceis… pero aun asi, me hacen gracia tambien xD

    Responder  
  13. posonty

    una pregunta ¿ se puede utilizar este teclado para jugar al battlefield 2 ?
    GRACIAS ,espero respuestas asi a ver si me lo compro ta chulisimo.
    01010101010101110001010100111011101000101100 done

    Responder  
  14. filemaster

    El ensamblador en de maricas, los hombres de verdad programan en codigo maquina y no me refiero a escribirlo en ensamblador y luego a partir de la tabla con el codigo de las instruccions traducirlo a binario, eso tambien es de nenazas,

    Los hombres de verdad memorizan la codificacion de cada instruccion y programan directamente en binario.

    Responder  
  15. Anónimo

    Pues viendo la posibilidad del potenciómetro, se podrí­a generar “binario real” (coma flotante a nivel lógico XD) con una oscilación entre el 1 y el 0, adquiriendo los siguientes valores:
    0: No
    0,2: Va a ser que no
    0,5: Pido el comodí­n del público
    0,6: Estoy seguro de que ganará el caballo número 4. Me handado un soplo.
    0,9: Probablemente sí­.
    1: Sí­

    Responder  
  16. lean esto

    01110000 01101111 01110010 00100000 01110001 01110101 01100101 00100000 01101110 01101111 00100000 01110011 01100101 00100000 01110110 01100001 01101110 00100000 01100001 00100000 01101100 01100001 00100000 01110000 01110101 01110100 01100001 00100000 01110001 01110101 01100101 00100000 01101100 01101111 01110011 00100000 01110000 01100001 01110010 01101001 01101111

    Responder  
  17. MexMen

    010011100110111100
    100000011100110110
    010100100000011000
    110111010101100001
    011011000010000001
    100101011100110010
    000001100101011011
    000010000001110000
    011100100110111101
    100010011011000110
    010101101101011000
    010010110000100000
    011101000110111101
    100100011000010010
    000001101101011010
    010010000001110110
    011010010110010001
    100001001000000110
    100001100101001000
    000110010101110011
    011000110111001001
    101001011101000110
    111100100000011000
    010111001101101001
    001011100000110100
    001010000011010000
    101001000001011101
    000111010001100101
    001011100010000000
    001101000010100100
    001001100101011011
    100110010001100101
    01110010

    Responder  
  18. William Henry Gates "Bill Gates"

    para mi no es muy dificil hacer eso ya que los CÓDIGOS BINARIOS
    Debido a la naturaleza biestable de los circuitos de electrónica digital, estos solo procesan códigos que constan de 0 y 1 (códigos binarios) existen muchas situaciones en la electrónica digital en la que necesitamos realizar tareas especificas, por lo tanto se necesitaran utilizar una serie de códigos que también utilizan ceros (0) y unos (1), pero sus significados pueden variar. A continuación detallaremos estos tipos de códigos.

    CÓDIGOS BINARIOS CON PESO

    Supongamos que queramos transformar el numero decimal 89532 a su correspondiente equivalencia en binario, aplicando el método de la división sucesiva por dos, llegaremos al siguiente resultado: 10101110110111100 pero para llegar a este resultado seguro te tomará cierto tiempo y trabajo, de igual forma si queremos diseñar un sencillo circuito digital en el que la cifra introducida en el teclado sea visualizada en la pantalla, se necesitarí­an una gran cantidad de compuertas lógicas para construir el circuito decodificado y codificador. Los códigos binarios con peso nos resuelven este problema pues estos códigos fueron diseñados para realizar la conversión de decimal a binario de una manera mucho mas fácil y rápida.

    CÓDIGOS BCD
    Los códigos BCD (Binary Coded Decimal) (Decimal Codificado en Binario) son grupos de 4 bits en el cual cada grupo de 4 bits solo puede representar a un único dí­gito decimal (del 0 al 9) Estos códigos son llamados códigos con peso ya que cada bit del grupo posee un peso o valor especifico. Existen por lo tanto códigos BCD’s de acuerdo al valor o peso que posea cada bit. Ejemplos de estos códigos son el BCD 8421, el BCD 4221, el BCD 5421, el BCD 7421, el BCD 6311, etc. donde la parte numérica indica el peso o valor de cada bit. Así­ por ejemplo el código BCD 8421 nos indica que el MSB posee un valor de 8, el segundo MSB posee un valor de 4, el tercer MSB tiene un valor de 2 y el LSB tiene un valor de 1. Para el código BCD 6311 el MSB tiene un peso o valor de 6, el segundo MSB posee un peso de 3, el tercer MSB posee un valor de 1, y el LSB tiene un valor de 1. El código BCD 8421 es el código BCD mas utilizado, es común referenciarlo simplemente como código BCD, así­ en el transcurso del curso se entenderá el código BCD como el BCD 8421, a menos que se indique lo contrario.

    CONVERSIÓN DE DECIMAL A BCD

    Ya que cada grupo de 4 bits solo puede representar a un único dí­gito decimal, la conversión de un numero decimal a un numero BCD se lleva a cabo de la siguiente forma:

    1. Separamos al dí­gito decimal en cada uno de sus dí­gitos
    2. Cada dí­gito decimal se transforma a su equivalente BCD.
    3. El número obtenido es el equivalente en BCD del número decimal.

    Por ejemplo, para convertir el decimal 469 a BCD, según lo explicado anteriormente, tenemos que tomar cada dí­gito decimal y transformarlo a su equivalente BCD.

    Figura 1: Conversión de decimal a BCD

    De esta forma el decimal 469 equivale al BCD 010001100011

    NOTA: En BCD los códigos 1010, 1011, 1100, 1101 y 1111 no tienen decimales equivalentes. Por lo tanto se les llaman códigos inválidos

    CONVERSIÓN DECIMAL FRACCIONARIO A BCD

    Se realiza del modo similar al anterior pero hay que tener en cuenta el punto binario, el punto del numero decimal se convertirá en el punto binario del código BCD.

    Ejemplo: para convertir el decimal 74.42 a BCD:

    Separamos el decimal en sus dí­gitos 7 4. 4 2.

    Convertimos cada dí­gito a decimal a BCD, y colocamos el punto binario en la misma posición del punto decimal.

    Figura 2: Conversión de decimal fraccionario a BCD

    De esta forma el decimal 74.42 equivale al BCD 01100100. 010000101.

    CONVERSIÓN DE BCD A DECIMAL

    Ya que el código BCD son grupos de 4 bits, realizaremos lo siguiente:

    1. A partir de la izquierda separamos al número BCD en grupos de 4 bits.
    2. Cada grupo de 4 bits se convierte a su decimal correspondiente.
    3. El número obtenido es el equivalente decimal del número BCD.

    Ejemplo: Convertir el número BCD 010101000011 a decimal.

    Separamos en grupos de 4 bits a partir de la izquierda 0101 0100 0011.

    Transformamos cada grupo a decimal.

    Figura 3: Conversión de BCD a decimal.

    El BCD 010101000011 equivale al decimal 543

    CONVERSIÓN BCD FRACCIONARIO A DECIMAL

    1. A partir del punto binario separamos al número binario en grupos de 4 bits.
    2. Cada grupo de 4 bits se convierte a su equivalente decimal.
    3. El punto binario se convertirá en el punto decimal.
    4. El número obtenido equivale en decimal al número BCD.

    Ejemplo: Convertir el número BCD 01110001.0000100 a decimal.

    separamos en grupo de 4 bits 0111 0001. 0000 1000.

    convertimos cada grupo a decimal y colocamos el punto binario como punto decimal.

    Figura 4: Conversión de BCD fraccionario a decimal.

    El BCD 01110001.00001000 equivale al decimal 71.08

    CONVERSIÓN BCD A BINARIO PURO

    Si queremos transformar un numero BCD a su correspondiente binario llevaremos a cabo los siguientes pasos:

    1. El número BCD lo transformamos a decimal.
    2. Convertimos el decimal obtenido a binario mediante las técnicas ya estudiadas.
    3. El binario obtenido es el equivalente en binario del número BCD.

    Ejemplo: Convertir el BCD 000100000011.0101 a binario.

    Convertimos 0001 0000 0011. 0101 a decimal 1 0 3. 5.

    Transformamos el decimal a binario 103.5(10)=1100111.1

    CONVERSIÓN DE BINARIO PURO A BCD

    1. Convertimos el número binario a número decimal.
    2. Cada dí­gito decimal se convierte a su equivalente BCD.
    3. El numero obtenido es el equivalente BCD del número binario puro.

    Ejemplo: convertir el binario 10001010.101 a BCD

    Se convierte primero a decimal 10001010.101

    128 + 8 + 2 + 0.5 + 0.125 = 138.625.

    convertimos el decimal a BCD

    138.625 = 0001 0011 1000. 0110 0010 0101

    El binario 10001010.101 es igual al BCD 000100111000.011000100101

    NOTA: Seguramente ha notado que los números en código BCD contienen mayor numero de bits que sus correspondientes números binarios, pero nuevamente recalcamos que esta desventaja es compensada por su facilidad para convertir a decimal.

    CÓDIGOS BINARIOS SIN PESO

    De la misma forma que existen códigos binarios con peso, también existen códigos binarios sin peso en el cual cada bit no va a poseer un valor o ponderación por posición. Aquí­ detallaremos dos códigos binarios sin peso: el de exceso 3 y el código Gray.

    CÓDIGO DE EXCESO 3

    A pesar de ser un código binario sin peso, el código de exceso 3 guarda una estrecha relación con el código BCD 8421 por el hecho de que cada grupo de 4 bits solo pueden representar a un único dí­gito decimal (del 0 al 9), y deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número BCD 8421 mas 3.

    CONVERSIÓN DE DECIMAL A EXCESO 3

    1. Se separa al numero decimal en cada uno de sus dí­gitos.
    2. Sumarle tres (3) a cada dí­gito decimal.
    3. Convertir a BCD el número decimal obtenido.
    4. El número obtenido es el equivalente en XS3 del número decimal.

    Ejemplo: convertir el numero decimal 18 a su equivalente XS3.

    Solución: primero le sumamos 3 a cada dí­gito.

    1 8
    + 3 + 3
    —– —–
    4 11

    luego cada resultado se transforma a BCD

    4 = 0100

    11 = 1001

    Nota: En las conversiones de exceso 3 no se tiene en cuenta los códigos inválidos (1010, 1011, 1100, 1101, 1110, 1111) como vimos en el ejemplo anterior el número 11, el cual nos resultó de la suma de 8+3, se convirtió directamente al BCD 1001.

    CONVERSIÓN BCD A XS3

    Para convertir un número BCD a código de exceso 3 tenemos en cuenta los siguientes pasos:

    1. A partir de la izquierda separamos al código BCD en grupos de 4 bits.
    2. Sumamos 00112 a cada grupo de 4 bits.
    3. El resultado es el equivalente en XS3 del código BCD.

    Ejemplo: Convertir el BCD 00101001 a XS3

    Separamos en grupos de bits. 0010 1001

    Sumamos 00112 a cada grupo

    0010 1001
    + 0011 +0011
    ——– ——-
    0101 1100

    El código XS3 01011100 equivale al BCD 00101001

    CONVERSIÓN DE XS3 A DECIMAL

    1. Dividimos a partir de la izquierda al número XS3 en grupos de 4 bits.
    2. Convertimos a decimal cada grupo de 4 bits.
    3. Restamos 3 a cada decimal.
    4. El número obtenido es el equivalente decimal del número XS3.

    Ejemplo : Convertir 10011010 XS3 a decimal

    Separamos en 4 bits 1001 1010
    Convirtiendo a decimal 1001 1010

    1001 = 9
    1010 = 10

    restamos 3 a cada resultado

    9 10
    -3 -3
    —- —-
    6 7

    el número 6710 equivale al XS3 10011010

    CÓDIGO GRAY

    Observemos lo siguiente:

    El decimal 5 se representa en binario por 0101

    El decimal 6 se representa en binario por 0110
    ¿Qué has notado?

    Observa que con solo aumentar un nivel en la cuenta (del 5 al 6) dos bits cambiaron de estado (el tercer MSB y el LSB de ambos números), probablemente esto no signifique nada ni nos afectarí­a en lo mas mí­nimo sin embargo existen algunas situaciones en electrónica digital en el cual solo necesitamos que al incrementarse la cuenta en un nivel solo cambie de estado (de 0 a 1 o viceversa) uno y únicamente un solo bit.

    La solución esta en el código Gray, un código binario sin peso que no tiene ninguna relación con el código BCD.

    Así­ para el ejemplo que hemos venido analizando:

    el decimal 5 en binario es 0101 y en código Gray es 0 1 1 1

    el decimal 6 en binario es 0110 y en código Gray es 0 1 0 1

    el color azul indica el bit que cambió de estado.

    Pero, ¿cuales son los pasos que se deben llevar cabo para hacer la transformación a código Gray?

    CONVERSIÓN DE NUMERO BINARIO A CÓDIGO GRAY

    1. El MSB del numero binario será el mismo para el código Gray.
    2. Sumar el MSB del numero binario al bit situado a su derecha inmediata y anotar el resultado del numero en código Gray que estamos formando.
    3. Continuar sumando bits a los bits situados a la derecha y anotando las sumas; hasta llegar al LSB.
    4. El número en código Gray tendrá el mismo número de bits que el número binario.

    Ilustraremos mejor esta explicación con un ejemplo:

    Ejemplo: convertir el numero binario 0010 a código Gray

    Aquí­ finaliza la conversión dado que ya llegamos al LSB del numero binario.

    Entonces el numero binario 0010 equivale al 0011 en código Gray

    CONVERSIÓN DE CÓDIGO GRAY A BINARIO

    1. El bit izquierdo de código Gray será el MSB del numero binario.
    2. El bit obtenido es sumado al segundo bit de la izquierda del código Gray, y el resultado se anotara a la derecha del numero binario a formar.
    3. Este resultado se le suma al bit situado a la derecha inmediata del ultimo bit que sumamos y el resultado será el otro bit del número binario (se ordena de izquierda a derecha).
    4. Repetir el paso anterior hasta llegar al bit mas a la derecha del código Gray.
    5. El número de bits del numero binario deberá coincidir con el número de bits del número en código Gray.

    Ejemplo: convertir el número en código Gray 1001 a numero binario

    CÓDIGOS ALFANUMÉRICOS

    Los códigos estudiados anteriormente sólo sirven para representar números, pero ; ¿y si queremos representar las letras del alfabeto o algunos sí­mbolos? ; ¿cómo lo harí­amos?.

    La solución está en los códigos alfanuméricos, que no es más que un tipo de código diseñado especialmente para representar números, letras del alfabeto (mayúsculas y minúsculas), sí­mbolos especiales, signos de puntuación y unos caracteres de control.

    Un código alfanumérico muy popular y ampliamente utilizado, es el llamado código ASCII (American Standard Code for Information Interchange), que en español quiere decir: código estándar americano para el intercambio de información, el cual es un código de siete bits muy utilizado en los sistemas digitales avanzados (computadores, redes de transmisión de datos, etc.) para representar hasta 128 (27) piezas de información diferentes, incluyendo letras, números, signos de puntuación, instrucciones y caracteres especiales. jajajja

    =)!

    Responder  
  19. íƒâ€ší­Âªíƒâ€ší­Âªauntecnikíƒâ€ší­Âªíƒâ€ší­Âª

    miren para apagar el pc

    0100100111000 1001101100100100100110110001100011001010010
    0100100111000 100110110010010010011011000110001100101001011
    0100100111000 100110110010010010011011000110001100101001011
    0100100111000 100110110010010010011011000110001100101001011
    0100100111000 1001101100100100100110110001100011001010010
    0100100111000
    0100100111000 100110110010010010011011000110001100101001011100100100100100100101011110000
    0100100111000 100110110010010010011011000110001100101001011100100100100100100101011110000
    0100100111000 1001101100100100100110110001100011001
    0100100111000 100110110010010010011011000110001100101001011100100100100100100101011110000
    0100100111000
    0100100111000 100110110010010010011011000110001100101001011100100100100100100101011110000
    0100100111000
    0100100111000 100110110010010010011011000110001100101001011100100100100100100101011110000
    0100100111000 100110110010010010011011000110001100101001011100100100100100100101011110000

    Responder  
  20. MadMag

    Yo estoy programando glakt en uno de estos, y como siempre me confundo en el último 0 del programa, pues tengo que volver a empezar, por eso retraso siempre su lanzamiento.

    Responder  
  21. Gersoft

    Pues yo ya he intentado probarlo pero me fue mal, estaba programando el código para apagar el pc y termine formateandolo jejeje, a veces se va un cero demás o de menos.
    Bueno y para todos 100000111010101010001111 Saludos.

    Esta es la mejor conversación que he tenido en internet, ¡¡¡¡Genial!!!!

    Responder  
  22. Daniel

    Con este teclado se podría programar en binario, pero la “tecla” done se tendría que usar para introducir comandos como guardar salir etc (siempre instrucciones en binario), al estilo del editor Vi pero mas hardcore.
    Una versión mas “productiva” (todos los programadores de verdad sabemos que eso en realidad significa para mariconas, obvio xD) sería usar un teclado hexadecimal y una representación similar de los datos en el editor.

    Responder  

ESCRIBE UN COMENTARIO