Para entender melhor como funciona essa TRADUÇÃO da linguagem humana para a linguagem de máquina, como assim é chamada, é preciso saber o alfabeto binário (não necessariamente decorá-lo).
Cada algarismo 1 ou 0, é chamado de bit (binary digit) e para que se forme um dígito são necessários oito bits e cada conjunto de oito bits é chamado de byte, normalmente.
Veja o alfabeto binário:
A 01000001 | B 01000010 | C 01000011 | D 01000100 | E 01000101 | F 01000110 | ||
G 01000111 | H 01001000 | I 01001001 | J 01001010 | K 01001011 | L 01001100 | ||
M 01001101 | N 01001110 | O 01001111 | P 01010000 | Q 01010001 | R 01010010 | ||
S 01010011 | T 01010100 | U 01010101 | V 01010110 | W 01010111 | X 01011000 | Y 01011001 | Z 01011010 |
Essa é a codificação ASCII (American Standard Code for Information Interchange ou Código Padrão Americano para Intercâmbio de Informações) e é a mais usada.
Se você pedir um comando para que, por exemplo, seja encontrado todos os números primos até um inteiro n, nossa estratégia tem de seguir uma lógica como se fosse usada na aula de matemática, no caso. Aí ficará da seguinte forma:
1. Obter números do intervalo [2, n];
2. Apagar os números maiores que e divisíveis por 2;
3. Obter próximo primo p;
4. Se p for menor que a raiz quadrada de n, então:
4.1. Apagar os números maiores que e divisíveis por p;
4.2. Ir ao passo 3;
5. Senão:
5.1. Ir ao passo 6;
6. Fim.
Este modelo numérico antes de cada comando é o chamado algoritmo usado em várias linguagens de programação.
Obviamente, um algoritmo deve ser executado por algum ser. Este ser pode ser uma pessoa munida de certos equipamentos e utensílios ou por máquinas projetadas para executar automaticamente algumas instruções básicas. Mas preciso saber se esse ser, ou agente, é capaz de interpretar as instruções. Pegando o exemplo acima, se a pessoa souber o que é um número primo, raiz quadrada e os números divisíveis por 2 e p, ele é capaz. Não sabendo de ao menos um desses itens ele se torna incapaz. Então há essa necessidade de saber a capacidade do agente que no computador é conhecido com Processador ou CPU.
Você deve estar se perguntando: "Cada letra desse comando acima eu vou ter que passar par a linguagem dos "0" e "1"?" Não se assuste. Hoje existem vários tradutores encarregados de fazer essa tradução da linguagem humana para a linguagem de máquina e vice-versa.
Bom, isso é o básico do básico. Se você pretende ser um programador de renome, vale a pena estudar bastante (que nem eu) e a internet contém vários meios ao qual já o faz ficar por dentro do mundo dos programadores.
Pesquise. Você só tem a ganhar!
12 comentários :
Sabia que eu como programador, nunca tinha tido essa curiosidade ?
Material muito legal!
parabens!
materia mto interessante parabens pelo blog
Super legal teu blog.
Parabéns.
Rapaz, que legal isso aí! Eu sou intrigado como o mundo dos computadores funciona, gostei muito!
Confuso, mas interessante. Apesar de eu não ser muito fã de números...
minha namo já havia comentado...vim aqui agora..muito boa a materia parceiro..msm
Gostei muito do post, bem esclarecedor e curioso, mostrando-nos como as coisas funcionam. Como disse no fim do post, só temos a ganhar em conhecimento.
ABraço.
Muito bom! Isso fica bem visível na Linguagem C.
Ok. Também concordo, uma ótima matéria.
acredito q nunnnnca vou conseguir entender a linguagem do computador
http://cabelobeleza.com
bom blog e boa matéria.
estudo programação na universidade e isso foi bem interessante
http://guitarrasenanquim.blogspot.com/
Um assunto muito interessante: http://pt.wikipedia.org/wiki/Assembly
Linguagem de Máquina!
Postar um comentário