Em computadores digitais trabalham internamente dois níveis de tensão, pelo que o seu sistema de numeração natural é o sistema binário. Com efeito, num sistema simples como este é possível simplificar e calcular, com o auxílio da lógica booleana. Em computação, chama-se um dígito binário (0 ou 1) bit. Um agrupamento de 8 bits corresponde a um byte.
O sistema binário é um sistema de numeração em que todas as quantidades se representam com base em dois números, pelo que se dispõe das cifras: zero e um (0 e 1).
Um agrupamento de 4 bits é chamado de nibble. O sistema binário é a base, que permite fazer operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados (sim e não, falso e verdadeiro, tudo ou nada, 1 ou 0, ligado e desligado).
Toda eletrónica digital, computação e programação está baseada nesse sistema binário e na lógica de Boolean, que permite representar por circuitos eletrónicos digitais (portas lógicas) os números, caracteres, realizar operações lógicas e aritméticas. Os programas de computadores são codificados sob forma binária e armazenados nas medias (memórias, discos, etc.).
Toda eletrónica digital, computação e programação está baseada nesse sistema binário e na lógica de Boolean, que permite representar por circuitos eletrónicos digitais (portas lógicas) os números, caracteres, realizar operações lógicas e aritméticas. Os programas de computadores são codificados sob forma binária e armazenados nas medias (memórias, discos, etc.).
O matemático indiano Pingala apresentou a primeira descrição conhecida de um sistema numérico binário no século III a.C..Um conjunto de 8 trigramas e 64 hexagramas, análogos a números binários com precisão de 3 e 6 bits, foram utilizados pelos antigos chineses no texto clássico I Ching. Conjuntos similares de combinações binárias foram utilizados em sistemas africanos de adivinhação tais como o Ifá, bem como na Geomancia do medievo ocidental.Uma sistematização binária dos hexagramas do I Ching, representando a sequência decimal de 0 a 63, e um método para gerar tais sequências, foi desenvolvida pelo filósofo e estudioso Shao Yong no século XI. Entretanto, não há evidências que Shao Yong chegou à aritmética binária.O sistema numérico binário moderno foi documentado de forma abrangente por Gottfried Leibniz no século XVIII em seu artigo "Explication de l'Arithmétique Binaire". O sistema de Leibniz utilizou 0 e 1, tal como o sistema numérico binário corrente nos dias de hoje.Em 1854, o matemático britânico George Boole publicou um artigo fundamental detalhando um sistema lógico que se tornaria conhecido como Álgebra Booleana. Seu sistema lógico tornou-se essencial para o desenvolvimento do sistema binário, particularmente sua aplicação a circuitos eletrônicos.Em 1937, Claude Shannon produziu sua tese no MIT que implementava Álgebra Booleana e aritmética binária utilizando circuitos elétricos pela primeira vez na história. Intitulado "A Symbolic Analysis of Relay and Switching Circuits", a tese de Shannon praticamente fundou o projeto de circuitos digitais.
Todo o computador possui um conjunto de instruções que o seu processador é capaz de executar. Essas instruções, chamadas de código de máquina, são representadas por sequências de bits, normalmente limitadas pelo número de bits do registador principal do CPU.
As instruções correspondem a sequências muito simples de operações, como transferir um dado em memória para o CPU ou somar dois valores e são normalmente interpretadas por micro-código.
Um programa em código de máquina consiste numa sequência de números que significam uma sequência de instruções a serem executadas. É normal a representação da linguagem de máquina por meio de números (opcodes) constantes e variáveis em sistema binário ou sistema hexadecimal. Alguns computadores também têm seu opcodes representados no sistema octal.
Microprocessadores tem normalmente os seus códigos de operação como múltiplos de 2, 8 e 16, pois usam arquiteturas com registos de 8,16,32,64 ou 128 bits. Porém, existem máquinas com registadores de tamanho diferente.
Os programas de computador raramente são criados em linguagem de máquina, mas devem ser traduzidos (por compiladores) para serem executados diretamente pelo computador. Existe a opção, em voga atualmente, de não executá-los diretamente, mas sim por meio de um interpretador, esse sim rodando diretamente em código de máquina e previamente compilado.
Sem comentários:
Enviar um comentário