Publicação

Você sabe a história, entende como funciona o Sistema Binário ?

foto de
Ricardo Santos CONTEÚDO EM DESTAQUE

    

Neste post, há um aprofundamento mediano sobre o assunto.

Minha intenção é, apenas despertar sua curiosidade sobre o Sistema Binário moderno, utilizado na computação.

Eu particularmente, gosto de entender o porquê de as coisas serem como elas são, me sinto atraído pelo conhecimento e procuro satisfazer minha curiosidade em saber como conceitos se tornaram regras, métodos, premissas, produtos, etc.

Todos nós, utilizamos o Sistema Binário moderno diariamente em nossa profissão, aliás, ela hoje existe muito por causa dele. Acredito também que muitos nem sequer associam ele a Tecnologia da Informação.

Antes de entrar um pouco na história/teoria, permita-me lhe mostrar um vídeo, que de forma simples mostra como o sistema binário funciona.



Definição para binário.

"Binário é um adjetivo masculino, que indica algo que tem duas unidades ou algo que é composto por dois elementos de informação."

Sistema Binário Antigo (India e China) 

O primeiro matemático a registrar um pseudo "Sistema Binário", foi o indiano chamado Pingala no século III a.C. Ele usou números de 1 a 8 representando-os com símbolos modernos, sendo sequencialmente 001, 010, 011, 100, 101, 110, 111 e 1000.

Pingala: https://pt.wikipedia.org/wiki/Pingala

Houve ainda um matemático Chinês chamado Shao Yong no século XI, que usava uma representação sequencial decimal de 0 a 63, mas há pouco registros, por isso, há controvérsias se Shao Yong realmente chegou a uma aritmética binária com essa representação. 

Shao Yong: https://en.wikipedia.org/wiki/Shao_Yong


Sistema Binário moderno 

Gottfried Wilhelm Leibniz, alemão, nascido em 1646 em Leipzig assim como outros de sua época, tinha dentre várias profissões a Matemática.

O Sistema Binário aperfeiçoado e/ou, porque não dizer criado por Leibniz é caracterizado como um sistema de numeração posicional em que todas as quantidades se representam com base em dois números, ou 0 (zero) ou 1 (um).

Seu primeiro artigo sobre seu Sistema Binário de base 2, foi o "Explication de l'Arithmétique Binaire".

É de Leibniz também a teoria de que todo raciocínio pode ser reduzido a uma combinação ordenada de elementos como números, palavras, sons, ou cores, teoria esta que se tornou a base teórica dos computadores modernos.

Gottfried Wilhelm Leibniz:https://pt.wikipedia.org/wiki/Gottfried_Wilhelm_Leibniz


George Boole e sua Álgebra Booleana.

Em 1854, Boole publicou um artigo fundamental detalhando um sistema lógico que se tornaria conhecido como Álgebra Booleana. Seu sistema lógico usou como base o Sistema Binário de Leibniz e tornou-se mais tarde essencial no uso na aplicação de circuitos eletrônicos.

George Boole era britânico autodidata em matemática, filosofia dentre outras ciências. Boole introduziu o sistema algébrico, inicialmente, em um pequeno panfleto, o The Mathematical Analysis of Logic, publicado em 1847, em resposta a uma controvérsia em curso entre Augustus De Morgan e William Hamilton, e mais tarde como um livro mais substancial, The Laws of Thought, publicado em 1854.

Álgebra Booleana de George Boole permitiu fazer operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados. Toda a eletrônica digital e computacional da atualidade, estão baseadas nos cálculos da Álgebra Booleana.

George Boole:  https://pt.wikipedia.org/wiki/George_Boole 


Álgebra Booleana e os circuitos elétricos.

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.

Tese no MIT: https://www.cs.virginia.edu/~evans/greatworks/shannon38.pdf


Sistema de numeração binária e os computadores.

Dados precisam ser interpretados. Em eletrônica tudo é estado de corrente elétrica (ligada/desligada, alta/baixa), logo o Sistema Binário tornou-se excelente para isso, interpretar todos estes estados usando zero para tudo que esta desligado/baixo e usando o 1 para tudo que esta ligado/alto. 

Estes sinais elétricos são tensões que assumem dois diferentes valores: um valor negativo e um valor positivo.

“Um processador é formado por milhares de blocos lógicos complexos, formados por portas lógicas básicas, e o funcionamento destas está amparado por um postulado fundamental à eletrônica digital que determina que um circuito opere apenas com dois níveis de tensão bem definidos. Em um circuito digital TTL (Transistor Transistor Logic ou simplesmente TTL é uma classe de circuitos digitais construídos de transistores de junção bipolar (BJT), e resistores), os dois níveis de tensão padronizados são 0V (zero volt) e 5V (cinco volts). Ao projetar um sistema digital, ao invés de trabalhar com níveis de tensão trabalha-se com níveis lógicos, então, no caso do circuito TTL, 0V será representado por “0” e 5V será representado por “1”, e os níveis de tensão entre eles serão ignorados, ou seja, adotar-se-á uma faixa até a qual será considerado nível lógico zero, e a partir dela, nível lógico 1. Neste caso, de 0V a 2,5V temos “0”, e a partir daí até 5V temos “1”.

Ou seja, de 0 até 2,5 volts será 0 (Zero) e de 2,6 volts até 5 volts será 1 (Um)

Wikipedia:  https://pt.wikipedia.org/wiki/Sistema_de_numeração_binário


Sistema de numeração binária e os sistemas de computadores. 

Na computação, chama-se um dígito binário (0 ou 1) de bit, que vem do inglês Binary Digit.

Um agrupamento de 4 bits, é chamado de Nibble.

Um agrupamento de 8 bits corresponde a um byte (Binary Term)


Logo:

Um Bit = 0 ou 1

Um Byte = 01010101

Um Gigabyte = 0101… (+ 8,5 bilhões de zeros e uns) 


Acredito que você esteja familiarizado com estes números, correto?

Bit, Byte, Kbyte, MegaByte, GigaByte, TeraByte, PetaByte. E além de petabyte você sabe?

Temos:

Zettabyte (ZB), ou 1024 exabytes, ou 1 sextilhão de bytes (ou 10 à vigésima primeira). Exemplo: informação equivalente ao total de grãos de areia existentes em todas as praias do mundo.

Yottabyte (YB), 1024 zettabytes, ou 1 setilhão de bytes (ou 10 à vigésima quarta). Exemplo: o total de informação equivalente ao número de átomos contidos no corpo de 7 mil pessoas.

Googolbyte, um número de bytes equivalente a 10 elevado à centésima potência. Diante de um número tão grande, poderíamos dizer que um Googolbyte equivaleria a todos os átomos contidos na Via Láctea.

Sempre multiplicando por 1024.


Formando informações / O caractere.

Sabemos que, são os bits que formam qualquer informação, porém, um bit sozinho não faz nada, é apenas um sinal qualquer. Para que os bits possam realmente formar uma informação, precisam ser agrupados, reunidos. Esses grupos podem ser de 8, 16, 32 ou 64 bits.

Com esse conceito, através de cálculos, formam-se números e caracteres através de decodificação.


A diferença entre o cálculo humano e computacional

O sistema decimal é um método de numeração de posição com base dez, no qual são utilizados os algarismos indo-arábicos (0 até 9).


Obs. Essa técnica serve para a contagem de unidades, dezenas, centenas, entre outras casas decimais (lembre-se daquela tabela que sua professora de matemática da 5ª série lhe mostrou).

528 = (5 x 100) + (2 x 10) + (8 x 1)

Se transcrevermos essa fórmula para a base dez, ela ficará desta forma:

O sistema binário representa os valores com apenas dois algarismo: 0 (zero) ou 1 (um) correto?, ou seja, esse método possui base dois correto ?. Essa forma de cálculo, sendo auxiliada pela lógica booleana, é mais simples para a execução das máquinas.

O modo mais fácil para você transcrever um número inteiro do sistema decimal para o binário é dividi-lo por dois, anotar o restante (0 ou 1), pegar o quociente e dividi-lo novamente por dois. Faça esse mesmo processo até que o quociente final seja 1 (obrigatoriamente, a última conta deverá ser 2 ÷ 2).

Para montar o numeral binário considere o algarismo 1 (essa é uma regra do cálculo) e depois siga a ordem de zeros e uns de baixo para cima.

Retomando o exemplo anterior, na base 2 (dois) o número 528 seria construído conforme abaixo:

Portanto, o número 528 pode ser representado no sistema binário como 1000010000. Para o procedimento inverso, você deve selecionar separadamente cada dígito e contar sua posição. A unidade vale 1, a dezena vale 2, a centena vale 3 e assim por diante. O valor dessa posição será usado como o expoente da potência de base dois que orienta o cálculo. Usando o exemplo anterior, temos:

Some os valores obtidos para obter o valor no sistema decimal. Sendo assim, o número binário 1000010000 corresponde a:

512 + 16 = 528


Finalizando ... ufa ...

O sistema ASCII (American Standard Code for Information Interchange)

O ASCII é a codificação de caracteres de oito bits usada pelos computadores para a representação textual. É por meio dos códigos ASCII que o PC reproduz 256 caracteres, dentre os quais a maioria é usada na redação e processamento de texto – são as letras que usamos para escrever em editores, como o Word.

Por meio desses sinais, a máquina pode realizar os cálculos e processamentos necessários para transformar o conteúdo codificado em um formato que possamos compreender – seja texto, imagem ou som.


Com essa codificação vem a Palavra

Agora vou explicar algo importante a saber: o conceito de “palavras”. Na terminologia dos computadores, palavra é um grupo de algarismos binário (bits) que podem ocupar uma localização na memória, e, que podem ser processados de uma só vez, podendo ser um número binário que é para ser manuseado como um dado, ou, uma instrução que diz ao computador que operação deve ser executada. Pode ser também um caractere ASCII representando uma letra do alfabeto, ou ainda, um endereço que diz ao processador onde se localiza um dado.

Existem tamanhos de palavras diferentes, onde cada um recebe um nome, veja:

•   4 bits = NIBBLE (24 =16 variações);

•   8 bits = BYTE (28 = 256 variações);

• 16 bits = WORD (216 = 65.536 variações);

• 32 bits = DOUBLE WORD (232 = 4.294.967.296 variações);

• 64 bits = QUAD WORD (264 = 18.446.744.073.709.551.616 variações).

Para entender melhor, imagine que com palavras de 8 bits, as instruções, os endereços, os números e dados são representados por números binários de 8 bits. Dessa forma o menor número binário é 00000000 (ou 00 em hexadecimal), e, o maior número é 11111111 (ou FF em hexadecimal), o que corresponde de 0 a 256 valores diferentes (variações).

Quanto maior a palavra, maior será o número que se pode trabalhar. Por exemplo: com palavras de 16 bits pode-se trabalhar com números decimais até 65.536. É preciso frisar aqui que apesar de um determinado PC usar palavras de 8 bits, por exemplo, não significa que o processador desse PC ficará restringido a números decimais inferiores a 256. Simplesmente significa que será necessário usar duas ou mais palavras para representar números maiores. Dessa forma é certo dizer que um processador de 32 bits é mais rápido que um de 16 bits, pois, este último será obrigado a dividir números maiores (acima de 65.536) em números menores que sejam possíveis de se manipular com 16 bits, o que levará mais tempo.

Logo um processador de 64 bits pode processar palavras até 4 vezes maiores que 16 ou duas vezes maiores que 32, significa menos divisões no processo de processamento.


Se você leu até aqui meus parabéns, você está em busca de conhecimento, logo você fará a diferença no seu entorno.


Lembre-se:  Conhecimento é pode (Thomas Hobbes)


Ricardo Santos


Fontes:

https://pt.wikipedia.org/wiki/Álgebra_booliana

https://pt.wikipedia.org/wiki/Sistema_de_numeração_binário

https://pt.wikipedia.org/wiki/Notação_de_Leibniz

https://pt.wikipedia.org/wiki/Lógica_binária

https://pt.wikipedia.org/wiki/Função_booliana

https://pt.wikipedia.org/wiki/Circuito_digital

https://pt.wikipedia.org/wiki/Augustus_De_Morgan

https://pt.wikipedia.org/wiki/Lógica

https://pt.wikipedia.org/wiki/William_Hamilton


Comentários