¿Cuál es el significado del lenguaje de máquina?

Bueno, el lenguaje de máquina es un lenguaje que puede ser entendido por las máquinas (computadoras de escritorio, su Mac, su teléfono inteligente y muchos otros).

¿Pero qué quiero decir con eso?

Digamos que está escribiendo un programa que puede sumar dos números en un lenguaje de programación, por ejemplo, Java, Python o C ++ (solo para darle algunos ejemplos). Estos lenguajes de programación fueron creados para que un humano pueda comunicarse con una máquina. Así es como pudimos codificar y escribir todas las funciones, variables y clases para crear este programa.

Sin embargo, este programa que acabamos de crear no puede ser leído por una máquina. Como dije, solo es legible para nosotros, pero no puede ser procesada por una computadora.

Es por eso que a veces necesitamos un compilador (es posible que ya hayas oído hablar de esto). De una manera muy abstracta, su programa legible para humanos que escribimos va a este compilador o procesador, sigue una serie de pasos y se convierte en el lenguaje máquina , que es el tema de su pregunta.

El lenguaje de máquina, por lo tanto, está completamente en el otro extremo del camino para que una máquina lea nuestro programa. La unidad central de procesamiento (CPU) de nuestra computadora lo lee perfectamente. Este lenguaje son los famosos 0 y 1 que probablemente ya haya visto:

Aquí hay un ejemplo binario del texto “Hola Mundo”:

01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100

Si tiene más dudas o inquietudes sobre mi respuesta, no dude en ponerse en contacto conmigo 🙂

Esa es una gran pregunta. La mayoría de la gente simplemente programa en / encima del lenguaje de máquina sin tratar de entender realmente el significado del lenguaje.

Pero si no comprende completamente el significado del lenguaje, ¿cómo puede estar seguro de que el programa que escribió realmente hace lo que cree que hace?

Puede o no puede. Es una cuestión de suerte. Algunas personas llaman a esto programación de casino.

La programación de casino está bien para software de entretenimiento como Windows o World of Warcraft. No es tan bueno para el software que se ejecuta en aviones, reactores nucleares, tanques, etc.

Es por eso que algunas personas siguieron adelante y trataron de entender realmente el significado de los lenguajes de máquina. Un ejemplo es el tratamiento de MIPS por Sabine Schmaltz: http: //www-wjp.cs.uni-saarland.d

Otro es el tratamiento de x86 por Ulan Degenbaev: http: //www-wjp.cs.uni-saarland.d

Lenguaje de programación que puede ser directamente entendido y obedecido por una máquina (computadora) sin conversión (traducción). Diferente para cada tipo de CPU, es el lenguaje binario nativo (compuesto de solo dos caracteres: 0 y 1) de la computadora y es difícil de ser leído y entendido por los humanos. Los programadores comúnmente usan más lenguajes similares al inglés (llamados lenguajes de alto nivel) como Basic, C, Java, etc., para escribir programas que luego se traducen al lenguaje de máquina (llamado lenguaje de bajo nivel) por un ensamblador, compilador o intérprete .

More Interesting

¿Cuáles son los avances más significativos del aprendizaje automático en 2017?

¿Cómo podemos "entrenar" sistemáticamente los algoritmos de agrupación sobre qué combinaciones de atributos / características generan en última instancia los tipos deseados de agrupaciones?

¿Podemos agregar la capa SVM como capa inferior en la arquitectura CNN para una mejor clasificación?

¿Qué significa el siguiente pasaje de un documento de aprendizaje profundo sobre aprendizaje automático sobre representaciones distribuidas frente a representaciones no distribuidas?

¿Cuál es el uso de una capa de disminución de resolución en una red neuronal convolucional (CNN)?

¿Qué algoritmos de aprendizaje automático utilizan servicios como wit.ai y api.ai?

¿Por qué el preentrenamiento no supervisado actúa como un regularizador en arquitecturas profundas?

¿Por qué la resolución de las imágenes de entrada en la red convolucional debe tener la misma dimensión (ancho y alto)?

¿Cuáles son todas las debilidades que Lee Sedol encontró en el juego de AlphaGo?

¿Se recomienda que un desarrollador Java experimentado aprenda y pase al aprendizaje automático? ¿Qué tan difícil / fácil es?

¿Cuál es la diferencia entre validación y validación cruzada?

¿Cuáles son las ventajas y desventajas de tener mi propio servidor en la nube?

¿Es estúpido cambiar de trabajo de programación en C a aprendizaje automático?

Dadas las variables / parámetros continuos, ¿cuál es la diferencia entre el aprendizaje automático y la interpolación?

¿Por qué confiamos en la aleatoriedad de la búsqueda aleatoria en la optimización de hiperparámetros?