P. 1
Sistema binário

Sistema binário

|Views: 292|Likes:

More info:

Published by: Dieme Comper Defante on Mar 10, 2011
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

07/27/2014

pdf

text

original

Sistema binário Introdução

Parte I

Os computadores trabalham com um sistema incrível, que utiliza apenas dois valores para manipular qualquer informação. Isso quer dizer que todas as operações que o computador faz, desde permitir-nos a escrever um simples texto até jogar jogos 3D são realizados utilizando apenas dois valores, que por convenção são os dígitos 0 (zero) e 1 (um). Mas como isso é possível? Como o computador consegue dar andamento a todos os seus processos utilizando apenas os dígitos 0 e 1 ? Como que isso tudo funciona na prática? Será que dentro de um processador ou em um CD/DVD veremos, literalmente, uma fileira de 0s e 1s ? É exatamente isso que veremos nessa pequena série de artigos. O que é binário? De forma geral, binário é um sistema que utiliza apenas dois valores para representar suas quantias. É um sistema de base dois. Esses dois valores são o 0 e o 1 . Daí podemos concluir que para 0 temos desligado, sem sinal, e para 1 temos ligado ou com sinal. Vale ressaltar que o sistema que utilizamos diariamente é o sistema de base dez, chamado também por base decimal. Esse sistema utiliza os algarismos indo-arábicos, que são: 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9. Nós seres humanos fomos treinados para trabalhar com a base decimal. Ela é a ideal para nós. Mas, para os computadores a base binária é a ideal. Nos computadores esses zeros ( 0s ) e uns ( 1s ) são chamados de dígitos binários ou somente bit (conjunção de duas palavras da língua inglesa binary digit), que é a menor unidade de informação dos computadores. Dessa forma, tanto faz dizer dígito 0 e dígito 1 , ou, bit 0 e bit 1 . Formação de informações / O caractere. São esses 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. 8 bits 10100110 Apesar de parecer ser um sistema limitado, agrupando bits é possível fazer uma infinidade de representações. Vamos pegar como exemplo um grupo de 8 bits (tabela a seguir), onde é possível fazer as seguintes representações para os números decimais:

Tabela 01: Caracteres alfanuméricos e seus equivalentes em binário

Números Decimais 0 1 2 3

Código Binário 00000000 00000001 00000010 00000011

Na tabela 01 os números decimais estão representados em grupos de oito bits. Mas, acontece que, como ocorre no sistema decimal, todo zero que estiver a esquerda de dígitos binários não valem nada. Por exemplo: o decimal 14 é 1110 em binário, o mesmo que 00001110 ou 000000001110 ou ainda ...0000000000001110.

Como disse, o computador reuni grupos predefinidos de bits (8, 16, 32 ou 64) para formar uma informação, ou seja, um caractere. Um caractere é qualquer letra, número ou símbolo. 10100110 à 8 bits = um caractere qualquer 1+1=? Como este assunto é considerado chato por muitos estudantes, vamos a uma brincadeirinha. Quanto é 1 + 1? Bem, todos devem responder 2 . Mas, eu não disse qual é a base (decimal ou binária). Se for decimal dará 2. E se for binária? Nesse caso dará 10. 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:

y y y

4 bits = NIBBLE (2 =16 variações); 8 8 bits = BYTE (2 = 256 variações); 16 16 bits = WORD (2 = 65.536 variações);

4

Mas. o que corresponde de 0 a 256 valores diferentes (variações). Infelizmente eu já vi muitas publicações fazerem afirmações totalmente erradas.073. sugiro que leiao antes deste.744. digital é tudo aquilo que pode ser transmitido e/ou armazenado através de bits.296 variações). por exemplo.551. e.616 variações). o que levará mais tempo.967.536. Nos computadores são usados valores muito baixos. Era Digital Em nosso cotidiano é comum ouvir frases do tipo era digital ou sistemas digitais ou ainda TV digital . seja uma letra. este último será obrigado a dividir números maiores (acima de 65. imagine que com palavras de 8 bits. Li uma certa vez que se você pagasse um CD-ROM e ampliasse a sua superfície de gravação. literalmente. Com o avanço da tecnologia dos computadores. Sistema Hexadecimal e Octal Conforme deixei claro no artigo anterior. que só servem para confundir a cabeça de quem está aprendendo. QUAD WORD para memórias de 64 bits. acaba confundindo. porém. maior será o número que se pode trabalhar. qualquer valor pode ser usado para representar os bits.294. pois. WORD para memórias de 16 bits. e pior. Já o bit 1 pode ser representado por valores entre 2 e 5 volts. para os computadores o sistema binário é o ideal. Programadores web estão acostumados a usar valores em hexadecimal. imagine ter que usar BYTE para memórias de 8 bits (SIMM/30). 64 64 bits = QUAD WORD (2 = 18. continuamos a usar o nome BYTE para referir ao tamanho de uma memória. Um dispositivo digital é aquele que utiliza os bits para manipular qualquer tipo de informação (dados). O correto seria usar BYTE para designar o tamanho de uma memória de 8 bits. pois. hexadecimail e octal. o que é sem dúvida mais cômodo. O sistema Hexadecimal e Octal são exemplos disso. uma fileira de 0s e 1s ? Não é assim que funciona. Na prática Agora um ponto importante. depende do projeto. Se você é um usuário de conhecimento médio em diante. Por exemplo: com palavras de 16 bits pode-se trabalhar com números decimais até 65. etc. caracteres especiais. qual seria o lado prático disso? Nenhum. demorado e estaríamos totalmente suscetíveis a erros. os dispositivos eletrônicos passaram a trabalhar com tensões menores. pois permite que seja usado apenas dois dígitos para formar qualquer tipo de informação. Clique aqui.446. 32 Para entender melhor.536) em números menores que sejam possíveis de se manipular com 16 bits. Se você é um web master ou web designer sabe do que estou falando. Quanto maior a palavra. Simplesmente significa que será necessário usar duas ou mais palavras para representar números maiores. No artigo de hoje farei uma rápida comparação entre a bases binária. passou a se usar tensões cada vez menores. Por isso até hoje o usual é o BYTE para designar o tamanho de uma memória. não estamos afirmando aqui que são exatamente esses valores. os números e dados são representados por números binários de 8 bits. Ora. Está confuso? Atualmente os processadores acessam a memória a 64 bits por vez. Mas. sem dúvida já ouviu falar delas.y y 32 bits = DOUBLE WORD (2 = 4. Dessa forma é certo dizer que um processador de 32 bits é mais rápido que um de 16 bits. ao invés de utilizar o valor 110011 (binário) para colocar uma cor de fundo em um programa. não significa que o processador desse PC ficará restringido a números decimais inferiores a 256. número. Parte 2 Uma breve comparação Hexadecimal e Octal entre os sistemas binário. É preciso frisar aqui que apesar de um determinado PC usar palavras de 8 bits. as instruções.3 volts. Dessa forma o menor número binário é 00000000 (ou 00 em hexadecimal).709. os bits 0 e 1 são representados através de valores de tensão. por exemplo. Se você não leu o primeiro artigo dessa série. . Um programador. Já o CD/DVD (dispositivos ópticos) armazenam as informações em forma de pequenos pontos denominados Pits e um espaço entre eles denominado Lands. tais como esses que acabamos de mencionar. e assim sucessivamente. os endereços. e. Em nível de eletrônica. algo tipo #0000FF. que são interpretados no processo de leitura como 0s e 1s (bits). o maior número é 11111111 (ou FF em hexadecimal). Por exemplo: o bit 0 pode ser representado por valores entre 0 e 0. Disse também que para o homem trabalhar em binário seria muito sofrível. viria uma série de 0s e 1s . da aplicação e da tecnologia empregada. utiliza apenas o valor 33 (hexadecimal). Esses números são apenas exemplos. pois. não é assim que funciona. De forma geral. e. Como que isso tudo funciona na prática? Será que dentro de um processador ou em um CD/DVD veremos. Por esse motivo foram inventados sistemas mais compreensíveis ao homem. talvez até conheça-a bem. o que é digital? Resumidamente.

A. 1100= C. 111= 7. Binário. B. D. o número 234. temos: 2 x 100 + 3 X 10 + 4 X 1 = 234 Decompor números decimais é muito fácil. uma vez que. digamos. Voltando novamente à matéria de 5ª série. Para fazer essas conversões.Vejamos nos tópicos a seguir essas duas linguagens bem como seus equivalentes em decimal e binário. C. E= 14 e F= 15. Tentei abordar o assunto da forma mais simples possível. 1. etc. 7. A menor casa é a das unidades. 3. 5. 2. 4. Basta você entender que cada algarismo representa uma casa. para permitir a compreensão de todos. 6. Veja na tabela abaixo os números decimais e seus respectivos valores em binário. 5. A facilidade desse sistema é obvia. E e F. você aprendeu que toda potência de 10 é igual e 1. Sendo que A= 10. 6 e 7. Sistema Hexadecimal O sistema hexadecimal (base 16) está implantado nos computadores digitais. Sistema Octal O sistema Octal utiliza 8 dígitos: 0. Fazendo uma decomposição simples desse número. A cada grupo de três bits. seguro e menos suscetível a erros. 3. hexadecimal e octal: Tabela 02: Decimal. B= 11. temos um algarismo em hexadecimal: 1001= 9. O byte binário 10111100 em hexadecimal é BC. Vamos a um exemplo prático. 101= 5. 4. A implantação desse sistema foi um alívio para milhões de programadores. tornou o trabalho mais fácil. das centenas. 1110= E. e elas vão ganhando peso conforme vão sendo posicionadas à esquerda de qualquer número. é necessário entender perfeitamente algumas peculiaridades dos números decimais. Em hexadecimal temos 6 algarismos além do decimal: 0. 9. temos um número octal. Veja: 100= 4. Hexadecimal e Octal Decimal 0 1 2 Binário 0000 0001 0010 Hexadecimal 0 1 2 Octal 0 1 2 Suponhamos um número decimal qualquer. das dezenas. Vale ressaltar que todos esses valores hexadecimais são manipulados em binário pelos computadores. 8. a base numérica que usamos naturalmente todos os dias. seguido de tantos zeros quantas são as unidades dos expoentes: 10 = 1 10 = 10 102 = 100 1 0 . O sistema decimal é um sistema base dez. Há a casa das unidades. veja: Parte 3 Como converter números binários para decimal Neste artigo veremos como converter um número binário qualquer para decimal. 1. D= 13. 2. 110= 6. No número anterior temos: Vamos agora esquematizar isso em uma tabela. Isso é possível porque a cada grupo de 4 bits. Vamos voltar na 5ª série e relembrar uma matéria que você aprendeu nas aulas de matemática: a decomposição de números. C=12.

Em segundo lugar. Vamos à prática: Dividindo 57 por 2. Usando o mesmo conceito que expliquei até aqui. por exemplo: 57. Veremos neste artigo como fazer o oposto. muito simples. chegaremos à sua equivalência em decimal. calma! Há regras que devem ser entendidas e seguidas. 3 1x2 +1x2 + 1x2 = 1x4+1x2+1x1= 4+2+1= 7 O binário 111 = 7 decimal Utilizando o mesmo esquema podemos converter qualquer binário para decimal. Então. Por exemplo: o binário 111 2 1 0 Uma grade. Para facilitar a compreensão. 2 1 0 2 x 10 + 2x 10 + 4 x 10 = 234 A base do sistema binário é a base 2 . Suponhamos um número decimal qualquer. Veja: Fazendo a conta: . Para convertê-lo para binário vamos usar a técnica de divisão por 2. fazendo uma decomposição de um número binário qualquer. não use a calculadora. Mas. prepare em um papel uma grade tal como a mostrada a seguir. vamos representar o mesmo esquema da tabela anterior usando potências de base 10. pegar qualquer número decimal e convertê-lo para binário. O resultado dará errado. passo-a-passo.10 = 1000 Etc. e. Acompanhe comigo. Basta fazer com uma caneta ou lápis mesmo. ou seja. dará 28 e restará 1. nada de especial. Em primeiro lugar. Como converter números decimais para binários Na parte III dessa série vimos como converter números binários para decimais. demonstro aqui como fazer isso de forma extremamente prática e fácil.

pegue o resto e coloque na próxima casa vazia que estiver à direita da nossa grade. basta você colocar o RESTO dessa última divisão na próxima casa vazia que estiver à direita da nossa grade. pegue o resultado e divida-o por dois novamente. ela vai ficar assim: O próximo passo é pegar o resultado da divisão anterior. O resultado é 1 e o resto também é 1. Veja: Agora. Veja: Novamente. Veja: O próximo passo é pegar o resultado (no nosso caso é 14) e dividir por dois novamente. mais uma vez. Então. Então. para finalizar. A ordem deve ser sempre essa. vamos pegar. pegue o resultado e coloque-o na casa vazia seguinte. Veja: Para continuar. Vai ficar assim: Continuando. Veja como fica: Se você tiver lido com atenção até aqui. claro). O resto (0) vamos colocar na próxima casa vazia que estiver à direita da nossa grade. que nesse exemplo é 7. ela vai ficar assim: Dessa forma. não precisaremos efetuar mais nenhuma divisão. já sabe o que fazer: mais uma vez. o resultado da nossa divisão. que no nosso caso é 3 e dividir por 2. e dividir por 2. 14 dividido por 2 dá 7 e sobra zero. .Pegue o resto dessa divisão (1) e coloque-o na primeira casa da direita da nossa grade. No nosso caso. vamos pegar o resto da nossa divisão e colocar na próxima casa vazia que estiver à direita da nossa grade. 28 dividido por 2 dá 14 e sobra zero. atenção: sempre que o resultado da divisão chegar a 1 (ou zero. O resultado é 3 e sobra 1. ela vai ficar assim: Nessa altura você já deve até ter matado a charada . E por fim. Então. 57 = 111001. Então.

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->