lunes, 19 de diciembre de 2011

Los verdaderos hombres programan en MS Paint.



 Se trata de un archivo gif que dio/está dando vueltas en internet, que a través del MS Paint un programador fue capaz de hacer lo más básico de la programación a través de pixeles en C++. Pinta cuadros de diferentes colores y luego abre la imagen en MS Paint para ver “el código”.


Click para ver el .gif  y espera un poco que tarda en cargar.


Este es el código que escribe:
1
2
3
4
5
6
#include <iostream>
int main()
{
    std::cout >> "Hello, world!" << std::endl;
    return 0;
}
Vía meneame.net el usuario machielo no regala esta explicación del por que sí es posible hacerlo.

El formato BMP se compone de una cabecera (el inicio del fichero contiene algunos datos que indican que tipo de BMP es y algunas cosas más, ver enlaces al final) y luego no es más que una descripción, numérica, del color de cada pixel de la imagen, en un formato conocido como RGB (Red, Green, Blue, colores primarios).

Normalmente se asigna 1 byte a cada uno de estos colores (en BMPs modernos de 24bits de color), y otro byte más para otras propiedades como transparencia. Si estos valores, números al fin y al cabo, los lee un programa (el notepad) que cree que estos números representan letras de acuerdo a un código (por ejemplo en código ASCII, en el que cada letra se representa por 7 bits), eso es lo que mostrará en pantalla.

La “magia” es encontrar una combinación de pixels que, colocados en un BMP de un tamaño determinado, al abrirlo como ASCII u otra codificación de caracteres, de como resultado un programa en un lenguaje de programación conocido, en este caso C++.

Fusilado de aquí.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...