Sistema de numeração binário: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Gean (discussão | contribs)
m Desfeita a edição 43750724 de 186.214.94.8
texto trocado por '{{mais-notas|data=Março de 2012}} {{Ver desambig|outros significados para este termo|Sistema binário}} {{Sistemas numéricos}} * chico mare del mexico - numero 9125272526 ...'
Etiquetas: Remoção considerável de conteúdo Editor Visual
Linha 2:
{{Ver desambig|outros significados para este termo|Sistema binário}}
{{Sistemas numéricos}}
* chico mare del mexico - numero 9125272526
O '''sistema binário''' ou '''de base 2''' é um [[sistema de numeração]] [[notação posicional|posicional]] em que todas as quantidades se representam com base em [[dois]] [[número]]s, ou seja, '''[[zero]] e [[um]]''' (0 e 1).<ref name=gonick>{{Citar livro|url= |autor=[[Larry Gonick|Gonick, Larry]]|titulo=Introdução Ilustrada à Computação|subtítulo= |idioma= |edição= |local=São Paulo |editora=Harper & Row do Brasil|ano=1984|páginas=242|página=115-122|volumes= |volume= |isbn=}}</ref><ref name=bianchi>{{Citar livro|autor=Bianchi, Paulo; Bezerra, Milton|título=Microcomputadores|subtítulo=Arquitetura-Projeto-Programação|idioma=|edição=|local=Rio de Janeiro|editora=LTC|ano=1983|página=14-18|páginas=223|volumes=|volume=|isbn= 85-216-0321-5}}</ref>
 
Os [[computador]]es digitais trabalham internamente com dois níveis de [[tensão elétrica|tensão]], pelo que o seu sistema de numeração natural é o sistema binário.<ref name=murdocca>{{Citar livro|url= |autor=Murdocca, Miles J.; Heuring, Vincent P|titulo=Introdução à Arquitetura de Computadores|subtítulo= |idioma= |edição= |local=Rio de Janeiro |editora=Campus|ano=2000|páginas=512|página=8|volumes= |volume= |isbn=85-352-0684-1}}</ref> Com efeito, num sistema simples como este é possível simplificar o cálculo, com o auxílio da [[lógica booliana]]. Em computação, chama-se um dígito binário (0 ou 1) de ''[[bit]]'', que vem do [[língua inglesa|inglês]] '''''Bi'''nary Digi'''t'''''. Um agrupamento de 8 bits corresponde a um [[byte]] ('''''B'''inar'''y''' '''Te'''rm''). Um agrupamento de 4 bits, ainda, é chamado de [[nibble]].
 
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), 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”.
 
O sistema binário é base para a [[Álgebra booliana]] (de [[George Boole]] — matemático inglês), que permite fazer operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados (sim ou não, verdadeiro ou falso, tudo ou nada, ligado ou desligado, 1 ou 0).<ref name=davis>{{Citar livro|autor=Davis, Martin|título=Engines of Logic|subtítulo=Mathematicians and the Origin of the Computer|idioma=inglês|edição=|local=New York|editora=W. W. Norton|ano=2000|páginas=257|página=32|capítulo=2:Boole Turns Logic into Algebra|volumes=|volume=|isbn=0-393-32229-7}}</ref>
Toda a [[electrónica digital]] e [[computação]] estão baseadas nesse sistema binário e na [[lógica booliana|lógica de Boole]], que permite representar por circuitos electró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 mídias (memórias, discos, etc) sob esse formato. Assim, para informação armazenada na memória [[RAM]] do computador, o formato será de voltagem mais alta (1) ou mais baixa (0). Em [[Disquete|discos magnéticos]] a binariedade se dará por diferença de [[polaridade]], positiva ou negativa.
 
== História ==
[[Imagem:Leibniz binary system 1703.png|thumb|Página do artigo "Explication de l'Arithmétique Binaire", 1703/1705, de [[Leibniz]].]]
O matemático indiano [[Pingala]] apresentou a primeira descrição conhecida de um sistema numérico binário no século III [[a.C.]],<ref>''Binary Numbers in Ancient India'' [http://home.ica.net/~roymanju/Binary.htm <nowiki>[em linha]</nowiki>]</ref> representando os números de 1 a 8 com a sequência (usando símbolos modernos) 001, 010, 011, 100, 101, 110, 111 e 1000.<ref>''Chandaḥśāstra Home Page'', ''Śrī Piṁgala's Chandaḥśāstra'', ''[Paribhāṣā]'' [http://www.ancient-buddhist-texts.net/Textual-Studies/Chandas-Sastra/Chandas-Sastra-01.htm <nowiki>[em linha]</nowiki>]</ref>
 
Um conjunto de 8 [[trigrama]]s e 64 [[Hexagramas (I Ching)|hexagramas]], análogos a números binários com precisão de 3 e 6 bits, foram utilizados pelos antigos [[China|chineses]] no texto clássico [[I Ching]].<ref name"ifrah">{{Citar livro|autor=Ifrah, Georges|título=The Universal History of Computing|subtítulo=|idioma=|edição=|local=New York|editora=John Wiley & Sons |ano=2001|página=86-87|páginas=410|volumes=|volume=|isbn= 0-47139671-0}}</ref> 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.
 
=== Códigos Binários ===
A conversão de um número decimal no seu equivalente binário é chamada codificação. Um número decimal é expresso como um código binário ou número binário. O sistema numérico binário, como apresentado, é conhecido como código binário puro. Este nome o diferencia de outros tipos de códigos binários.
 
=== Decimal Codificado em Binário ===
O sistema numérico decimal é fácil de se usar devido à familiaridade. O sistema numérico binário é menos conveniente de se usar pois nos é menos familiar. É difícil olhar em número binário e rapidamente reconhecer o seu equivalente decimal.
 
Por exemplo, o número binário 1010011 representa o número decimal 83.
É difícil dizer imediatamente, por inspeção do número, qual seu valor decimal. Entretanto, em alguns minutos, usando os procedimentos descritos anteriormente, pode-se prontamente calcular seu valor decimal. A quantidade de tempo que leva para converter ou reconhecer um número binário é uma desvantagem no trabalho com este código, a despeito das numerosas vantagens de "hardware".
 
Os engenheiros reconheceram este problema cedo, e desenvolveram uma forma especial de código binário que era mais compatível com o sistema decimal. Como uma grande quantidade de dispositivos digitais, instrumentos e equipamentos usam entradas e saídas decimais, este código especial tornou-se muito difundido e utilizado. Esse código especial é chamado decimal codificado em binário (BCD - binary coded decimal). O código BCD combina algumas das características dos sistemas numéricos binário e decimais.
 
=== Notação Científica Binária ===
Tal como a notação científica decimal existe notação científica binária.
Vejamos parte do código de uma aplicação de código aberto que suporta esta funcionalidade:
<syntaxhighlight lang="C">
...
if( decimal >= 0){
sN = log10( decimal ) / log10( 2.0 );
sN1 = quo( sN );
sN2 = pot( 2.0, multi( sN ), 1 );
}
else{
if( decimal < 0 ){
decimal = decimal * -1;
sN = log10( decimal ) / log10( 2.0 );
sN1 = quo( sN );
sN2 = pot( 2.0, multi( sN ), 1 ) * -1;
decimal = decimal * -1;
}
}
...
</syntaxhighlight>
Ao pegarmos no valor em decimal podemos facilmente convertê-lo para binário, mas a numeração binária é extensa na medida que se obtém muitos dígitos na finalização da conversão. Com isto torna-se possível obter o valor numa forma mais legível.
Então temos a seguinte ordem de ações para obter um valor em notação científica binária:
# O valor é maior ou igual a zero?
# Se sim calcular o logaritmo de base 2 desse valor (sN).
# Guardar o valor à esquerda da virgula (sN1).
# Guardar o valor à direita da virgula (multi(sN)).
# Calcular o valor a multiplicar por x10^(sN1).
# Converter sN1 e sN2 para binário.
# E então escrever (sN2 em binário)x10^(sN1 em binário).
 
Caso o valor seja inferior a zero:
# Multiplique o valor em decimal por -1.
# Calcule sN, sN1 e sN2 sendo que deve multiplicar sN2 por -1.
# De seguida multiplique novamente o valor em decimal por -1.
 
É desnecessário colocar o valor em notação binária se sN1 for menor ou igual a 5 e maior ou igual a -4 ou quando o valor decimal a converter é igual a 0 pois são valores de leitura legível.
 
Esta forma de conversão foi desenvolvida e testada por um desenvolvedor de software de código-aberto, sendo que não está patenteada.
 
Tal como foi feito para o sistema binário, poderemos aplicar as mesmas regras para outros sistemas de numeração como octal e hexadecimal, base logarítmica 8 e 16 respetivamente. Para a conversão também se teria de usar respetivamente 8 e 16 para os sistemas de numeração mencionados.
 
==== Código ASCII ====
{{Artigo principal|ASCII}}
O "American Standard Code for Information Interchange" comumente referido como [[ASCII]] &ndash; também chamado ASCII completo, ou ASCII estendido &ndash;, é uma forma especial de código binário que é largamente utilizado em microprocessadores e equipamentos de comunicação de dados.<ref name=petzold>{{Citar livro|autor=Petzold, Charles|título=Code|subtítulo=The Hidden Language of Computer Hardware and Software|idioma=inglês|edição=|local=Redmond|editora=Microsoft Press|ano=2000|páginas=393|página=286-313|capítulo=|volumes=|volume=|isbn=0-7356-1131-9}}</ref>
 
Um novo nome para este código que está se tornando popular é "American National Standard Code for Information Interchange" (ANSCII). Entretanto, utilizaremos o termo consagrado, ASCII. É um código binário que é usado em transferência de dados entre microprocessadores e seus dispositivos periféricos, e em comunicação de dados por rádio e telefone. Com sete bits pode-se representar um total de 2<sup>7</sup> = 128 caracteres diferentes. Estes caracteres compreendem números decimais de 0 até 9, letras maiúsculas e minúsculas do alfabeto, mais alguns outros caracteres especiais usados para pontuação e controle de dados.
 
{{referências}}
 
== Ver também ==
* [[Sistema octal]]
* [[Sistema decimal]]
* [[Sistema hexadecimal]]
* [[Prefixos binários]]
* [[Conversão entre sistemas numéricos]]
 
== Ligações externas ==
* [http://www.orbispictus.com.br/downloads.php?cat_id=5&download_id=33 Tradução de ''Explication de l'Arithmétique Binaire'' (1703), de Leibniz]
 
* [http://www.gregosetroianos.mat.br/numbers_algs/index.html Algarismos na base b]
[[Categoria:Sistemas de numeração]]