Lenguaje máquina
El lenguaje máquina, o código máquina, es un lenguaje de bajo nivel compuesto por dígitos binarios (unos y ceros). Los lenguajes de alto nivel, como Swift y C++, deben compilarse en lenguaje máquina antes de ejecutar el código en una computadora.
Como las computadoras son dispositivos digitales, solo reconocen datos binarios. Cada programa, video, imagen y carácter de texto se representa en binario. Estos datos binarios, o código máquina, son procesados como entrada por la CPU. La salida resultante se envía al sistema operativo o a una aplicación, que muestra los datos visualmente. Por ejemplo, el valor ASCII de la letra "A" es 01000001 en código máquina, pero estos datos se muestran como "A" en la pantalla. Una imagen puede tener miles o incluso millones de valores binarios que determinan el color de cada píxel.
Aunque el código máquina está compuesto por 1 y 0, las diferentes arquitecturas de procesador usan códigos máquina distintos. Por ejemplo, un procesador PowerPC, que tiene una arquitectura RISC, requiere un código diferente al de un procesador Intel x86, que tiene una arquitectura CISC. Un compilador debe compilar el código fuente de alto nivel para la arquitectura de procesador correcta para que un programa funcione correctamente.
Lenguaje máquina frente a lenguaje ensamblador
El lenguaje máquina y el lenguaje ensamblador son lenguajes de bajo nivel, pero el código máquina se encuentra por debajo del ensamblador en la jerarquía de los lenguajes informáticos. El lenguaje ensamblador incluye comandos legibles para las personas, como mov, add y sub, mientras que el lenguaje máquina no contiene palabras ni siquiera letras. Algunos desarrolladores escriben manualmente lenguaje ensamblador para optimizar un programa, pero no escriben código máquina. Solo los desarrolladores que escriben compiladores de software deben preocuparse por el lenguaje máquina.
NOTE: Aunque el código máquina está compuesto técnicamente por datos binarios, también puede representarse mediante valores hexadecimales. Por ejemplo, la letra "Z", que es 01011010 en binario, puede mostrarse como 5A en código hexadecimal.
Pon a prueba tu conocimiento