Linguaggio macchina
Il linguaggio macchina, o codice macchina, è un linguaggio di basso livello composto da cifre binarie (uni e zeri). I linguaggi di alto livello, come Swift e C++, devono essere compilati in linguaggio macchina prima che il codice venga eseguito su un computer.
Poiché i computer sono dispositivi digitali, riconoscono solo i dati binari. Ogni programma, video, immagine e carattere di testo è rappresentato in forma binaria. Questi dati binari, o codice macchina, vengono elaborati come input dalla CPU. L'output risultante viene inviato al sistema operativo o a un'applicazione, che visualizza i dati. Per esempio, il valore ASCII della lettera "A" è 01000001 nel codice macchina, ma questi dati vengono visualizzati come "A" sullo schermo. Un'immagine può contenere migliaia o persino milioni di valori binari che determinano il colore di ogni pixel.
Sebbene il codice macchina sia composto da 1 e 0, diverse architetture dei processori utilizzano codici macchina diversi. Per esempio, un processore PowerPC, che ha un'architettura RISC, richiede un codice diverso da un processore Intel x86, che ha un'architettura CISC. Un compilatore deve compilare il codice sorgente di alto livello per l'architettura corretta del processore affinché un programma funzioni correttamente.
Linguaggio macchina e linguaggio assembly a confronto
Il linguaggio macchina e il linguaggio assembly sono entrambi linguaggi di basso livello, ma il codice macchina si trova al di sotto dell'assembly nella gerarchia dei linguaggi informatici. Il linguaggio assembly include comandi leggibili dagli esseri umani, come mov, add e sub, mentre il linguaggio macchina non contiene parole e nemmeno lettere. Alcuni sviluppatori scrivono manualmente codice assembly per ottimizzare un programma, ma non scrivono codice macchina. Solo gli sviluppatori che scrivono compilatori software devono preoccuparsi del linguaggio macchina.
NOTE: Sebbene il codice macchina sia tecnicamente composto da dati binari, può anche essere rappresentato con valori esadecimali. Per esempio, la lettera "Z", che in formato binario è 01011010, può essere visualizzata come 5A in codice esadecimale.
Metti alla prova le tue conoscenze