SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Operadores de sistemas
                             Informáticos EFJ-2



                                 Ref. 1.1.3


Designação:     Acções básicas do processamento de dados




      • Acções básicas do processamento

  Para que um computador processe dados é preciso movê-los até a unidade central de
  processamento, armazenar resultados intermediários e finais em locais onde eles possam ser
  encontrados posteriormente e controlar estas funções de transporte, armazenamento e processamento.
  Portanto, tudo que um computador faz pode ser classificado como uma dessas quatro acções
  elementares: processar, armazenar, mover dados e controlar estas actividades. Por mais
  complexas que pareçam as acções executadas por um computador, nada mais são que combinações
  destas quatro funções básicas.


  A função de mover dados é executada através do fluxo da corrente eléctrica ao longo de condutores que
  ligam os pontos de origem e destino e não depende de elementos activos. As funções de controlo são
  igualmente executadas através de pulsos de corrente, ou “sinais”, propagados em condutores eléctricos
  (estes pulsos, ou sinais, são interpretados pelos componentes activos, fazendo-os actuar ou não
  dependendo da presença ou ausência dos sinais). Portanto estas duas funções, transporte e controle,
  não exigem o concurso de componentes activos para sua execução, basta a existência de condutores
  eléctricos (fios, cabos, filetes metálicos nas placas de circuito impresso, etc.).



  Restam as funções de armazenar e processar dados.

  Armazenar dados consiste em manter um dado em certo local enquanto se precisar dele, de tal forma
  que possa ser recuperado quando necessário. Dados podem ser armazenados de diferentes formas.
  Nos computadores, são armazenados sob a forma de uma combinação de elementos que podem
  assumir apenas os valores numéricos “um” ou “zero”, ou os valores lógicos equivalentes,
  “verdadeiro” ou “falso”. Para armazenar um desses elementos é necessário apenas um dispositivo
  capaz de assumir um dentre dois estados possíveis (um deles representando o “um” ou “verdadeiro”, e
  o outro representando o “zero”, ou “falso”), manter-se nesse estado até que alguma acção externa
  venha a alterá-lo (portanto, ser “bi-estável”), permitir que este estado seja alterado (pelo menos uma
  vez) e permitir que esse estado seja “lido” ou “recuperado”. Um dispositivo que exiba estas
  características denomina-se “célula de memória”. O circuito electrónico elementar capaz de
  armazenar dados é a célula de memória.




    Carlos Alberto Gonçalves Rodrigues
    Formador de Cientifico e Tecnológico
                                                                                                Página 1
• Sistemas numéricos posicionais


  Um sistema numérico posicional é aquele em que o valor do “algarismo” ou “numérico”
  (representação gráfica ou símbolo de um número inferior à base) depende da posição deste
  algarismo no interior da representação do número (conjunto de algarismos). O sistema
  numérico que usamos correntemente, o sistema decimal (que adopta a “base” dez), é
  posicional. Por exemplo: no número 32.524 do sistema decimal, o primeiro algarismo “2”
  (contando a partir da direita) vale vinte unidades, enquanto o segundo vale duas mil
  unidades. Os valores variam devido à posição que ocupam na representação do número.

  A razão disso é que, um sistema numérico posicional como o sistema decimal, cada
  algarismo tem um valor igual ao do próprio algarismo multiplicado pela “base” elevada à
  posição ocupada pelo número. As posições são numeradas da direita para a esquerda a
  partir de zero. Então, lembrando que o sistema decimal usa a base dez, consegue-se o valor
  do número 32.524 somando as seguintes parcelas (obtidas considerando os algarismos
  tomados da direita para a esquerda):

  4 Multiplicado por 10 (base) elevado à potência 0 (posição 0) = 4 x 1 = 4
  2 multiplicado por 10 (base) elevado à potência 1 (posição 1) = 2 x 10 = 20
  5 multiplicado por 10 (base) elevado à potência 2 (posição 2) = 5 x 100 = 500
  2 multiplicado por 10 (base) elevado à potência 3 (posição 3) = 2 x 1.000 = 2.000
  3 multiplicado por 10 (base) elevado à potência 4 (posição 4) = 3 x 10.000 = 30.000

  A soma, naturalmente, resulta em 32.524. E basta reparar a forma pela qual o número dez
  foi utilizado na obtenção do valor do número para entender porque ele é a “base” do sistema
  numérico.

  Pode-se usar qualquer número como base para criar um sistema numérico posicional. Basta
  seguir a regra acima delineada: obtém-se o valor do número multiplicando-se o valor de
  cada numeral pela base elevada à posição ocupada por ele e somando todas as parcelas.

  Assim, o sistema decimal usa dez algarismos (de zero a nove), o sistema de base oito
  adoptará oito (de zero a sete) e o sistema de base dezasseis, muito usado em informática,
  necessitará de dezasseis algarismos (os mesmos zero a nove do sistema decimal ao qual
  se agregaram os símbolos “A”, “B”, “C”, “D” “E” e “F” para representar os algarismos de dez
  a quinze).

  O sistema numérico posicional de base dois chama-se “sistema binário” e utiliza,
  naturalmente, apenas dois algarismos, o zero e um.




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                      Página 2
Sistema binário; bits e bytes

  Computadores são constituídos internamente por circuitos eléctricos ou electrónicos.

  A grande maioria dos componentes dos circuitos eléctricos podem assumir apenas um de
  dois estados. Por exemplo: interruptores (ou transístores, se usados como “chaveadores de
  corrente”) podem estar fechados ou abertos; capacitores podem estar carregados ou
  descarregados; lâmpadas podem estar acesas ou apagadas; circuitos podem estar com
  energia ou sem energia; e assim por diante.

  Se estabelecermos que um desses estados representa o “um” e que o outro representa o
  “zero”, os dispositivos podem ser usados para representar números expressos no sistema
  binário, o sistema numérico posicional de base dois que usa apenas os algarismos, “um” e
  “zero”.

  Por exemplo, se deseja representar, neste sistema numérico, o número dez mediante um
  conjunto de lâmpadas, onde uma lâmpada acesa representa o algarismo “1” e uma lâmpada
  apagada o algarismo “0”. No sistema binário, o número dez assume a forma “1010” (para
  acompanhar este raciocínio basta saber que qualquer número pode ser expresso na base
  dois usando apenas os algarismos “1” e “0”; portanto, mesmo que não saiba fazer a
  conversão de números do sistema decimal para o binário, acredite que “dez” em binário é
  “1010”). Portanto, para representar o número dez bastam quatro lâmpadas uma ao lado da
  outra, a da esquerda acesa, sua vizinha apagada, a seguinte acesa e a última da direita
  apagada, na configuração “1010”.

  A Figura 1 mostra a soma de dois números representados por lâmpadas (que, por sua vez,
  representam os dígitos binários “1” e “0” em seus estados “acesa” e “apagada”), no sistema
  binário e no sistema decimal.




                                       Soma de dois números




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                     Página 3
A característica mais notável deste sistema numérico é a utilização exclusiva dos algarismos
  “1” e “0”, os chamados “dígitos binários” para exprimir todas as quantidades e todos os
  valores de quaisquer variáveis usando uma combinação de um determinado número de
  dígitos binários, ou seja, usando apenas os algarismos “1” e “0” (é por isso que uma célula
  de memória precisa armazenar apenas esses dois valores).

  O uso exclusivo dos algarismos “1” e “0” nos circuitos internos dos computadores pode levar
  a crer que apenas servem para resolver problemas muito específicos, cujas grandezas de
  entrada e saída assumam apenas dois valores e que portanto sua utilização há de ser
  extremamente limitada. Esta conclusão é falsa. Na verdade, toda e qualquer grandeza do
  mundo real, desde as cores e posições dos pontos que formam a imagem da Mona Lisa, os
  compassos, timbres e notas musicais que compõem as musicas dos nossos cantores
  preferidos, o conjunto de caracteres que até a sucessão ordenada de aminoácidos que
  formam o DNA dos seres vivos, em suma: toda e qualquer criação humana ou da natureza,
  seja ela qual for, pode ser codificada e representada (com maior ou menor precisão) sob a
  forma de um conjunto de números. E estes números podem ser expressos no sistema
  binário. O processo de conversão das grandezas do mundo real em quantidades expressas
  no sistema binário chama-se “digitalização” (por exemplo: o dispositivo denominado
  “scanner” nada mais é que um digitalizador de imagens, enquanto o processo de gravação
  de um CD de áudio é a digitalização de sons

  É por isso que o computador é uma máquina tão versátil, se presta a actividades tão
  disparatadas como calcular, escrever, desenhar, reproduzir músicas ou vídeo.

  Um dígito binário, então, é um algarismo do sistema numérico de base dois (há apenas dois:
  “zero” e “um”). Em inglês, “dígito binário” é “binary digit”, cuja contracção produz “bit”. Um bit,
  portanto, nada mais é que um dígito binário, um algarismo do sistema numérico posicional
  de base 2. O bit é a menor unidade de dado (ou informação) que pode ser armazenada num
  computador. Parece pouco, mas ainda assim essa quantidade mínima de informação tem
  algumas aplicações práticas (especialmente se associada a seus valores lógicos
  “verdadeiro” e “falso”, respectivamente). Mas, evidentemente, não se pode fazer muito
  processando valores de um único bit.
  Na linguagem humana escrita a menor unidade de informação é uma letra, ou “caracteres”.
  Letras isoladas, como “f” ou “S”, não podem representar muita coisa, mas a combinação de
  algumas delas pode significar muito, como “amor”, “vida”, “alma”.

  Embora os computadores sejam máquinas que trabalhão internamente apenas com
  grandezas numéricas, de longe sua utilização mais frequente é trabalhar com texto (este
  texto foi produzido com a ajuda de um computador e provavelmente você o está lendo com
  a ajuda de outro). Portanto uma das primeiras preocupações dos programadores de
  computadores foi desenvolver um método de codificar numericamente os caracteres, ou
  seja, exprimi-los sob a forma de números binários (ou “digitalizá-los”) de tal forma que fosse
  “entendido” por todos os computadores, mesmo os de diferentes fabricantes. Em suma: um
  método padronizado.
  Para exprimir todos os caracteres do alfabeto, precisamos usar números (binários,
  evidentemente) de quantos bits?




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                             Página 4
Vejamos. O alfabeto usado no idioma português tem 23 letras. O do idioma inglês, 26 (as
  mesmas 23 mais o “K”, o “W” e o “Y”). Como o computador diferencia maiúsculas de
  minúsculas, é necessário o dobro disso, 52 códigos, para exprimi-las todas. Incluindo os
  algarismos “0” a “9”, chegaríamos a 62 códigos. Então bastariam os números de zero a 61
  para exprimir todas as letras maiúsculas, minúsculas e algarismos. Em binário, 61 é
  expresso por “111101”, um número de seis bits. Se um número de seis bits é suficiente
  para exprimir o maior dos códigos necessários, então é suficiente para exprimir todos os
  outros. Logo, bastam seis bits para exprimir todos os caracteres do alfabeto mais os dez
  algarismos do sistema decimal.

  Mas isso não é o suficiente para trabalhar com texto. Além das letras, há os sinais gráficos
  como ponto, vírgula, acentos, sinais de exclamação e interrogação, etc. E caracteres
  acentuados (para um computador a palavra “é” não é constituída de dois caracteres, a letra
  “e” minúscula com um acento agudo sobre ela, mas sim de um único carácter que nada tem
  a ver com os dois anteriormente citados). Juntando tudo isso com alguns códigos de
  controlo (como mudança de linha), símbolos, como @ e outros, a IBM propôs um código
  capaz de exprimir 128 elementos. Esse código usava sete bits mas não continha diversos
  caracteres acentuados e símbolos de uso corrente, que foram acrescentados
  posteriormente, assim como alguns usados para desenhar linhas e molduras, totalizando
  256 elementos que poderiam ser expressos por números de oito bits. Essa representação foi
  adoptada como padrão nos EUA – e posteriormente em todo o mundo – com o nome de
  ASCII, sigla de (American Standard Code for Information Interchange), ou Código
  Americano Padrão para Intercâmbio de Informações, o conhecido “código ASCII”.

  Devido, sobretudo, à adopção do código ASCII (além de outras razões ligadas à fabricação
  de microprocessadores; por exemplo: na época em que o código ASCII foi adoptado, a
  maioria dos microprocessadores usavam posições de memórias internas ou “registradores”
  – capazes de armazenar oito bits), valores expressos em binário com oito algarismos
  passaram a ser usados para diversas finalidades, adquirindo importância suficiente para
  receber designação própria. A eles foi dado o nome de byte.

  Um byte é então qualquer número binário expresso com oito algarismos, ou oito bits. O
  maior valor que um byte pode assumir é “11111111” (todos os oito bits valendo “um”) que,
  convertido para o sistema numérico decimal, vale “255”. O menor valor que pode ser
  assumido por um byte é “00000000” que, evidentemente, vale “zero” no sistema decimal. O
  número total de códigos que podem ser expressos por um byte é 256 (de zero a 255),

  Note que um byte nada tem de especial, é apenas um número binário de oito algarismos, A
  sua importância na informática deriva apenas do fato do código ASCII ter adoptado números
  de oito bits, além de razões meramente construtivas ou operacionais. Por exemplo: os
  códigos enviados a impressoras para controlar a impressão têm oito bits, os valores
  trocados pelos modems entre computadores também, assim como diversas outras
  operações elementares de intercâmbio de informações. Além disso, memórias costumam
  ser organizadas de tal forma que as operações de leitura e escrita são feitas com
  quantidades de um byte ou de um múltiplo de bytes (oito, dezasseis, trinta e dois,
  sessenta e quatro ou cento e vinte e oito bits – o que corresponde a um, dois, quatro,
  oito e dezasseis bytes, respectivamente).


Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                       Página 5
Múltiplos do byte

  Como as memórias, tradicionalmente, são organizadas de forma que sejam lidos ou escritos
  num byte ou um número par de bytes em cada operação de leitura ou escrita, adoptou-se
  como norma exprimir a capacidade de armazenamento de memórias em bytes ou em seus
  múltiplos.


  Os múltiplos do byte mais utilizados para exprimir capacidade de armazenamento ou taxas
  de transferência de dados são quilo byte (KB), mega byte (MB), giga byte (GB) e terra byte
  (TB). Levando-se em conta o uso padronizado dos prefixos “quilo”, “mega”, “giga” e “terra”
  no sistema decimal, o prefixo “quilo” deveria indicar mil bytes e cada um dos demais o
  anterior multiplicado por mil. Infelizmente, em informática, as coisas são um pouco mais
  complicadas.


  Os prefixos acima foram concebidos para exprimirem potências inteiras da base no sistema
  numérico de base dez. Assim, o prefixo “quilo” corresponde a mil vezes a unidade, ou 10^3,
  “mega” corresponde a um milhão, ou 10^6, “giga” a um bilhão, ou 10^9 e “terra” a um trilião,
  ou 10^12.


  O sistema binário usa a base 2. Ocorre que potências inteiras de dez não correspondem a
  potências inteiras de dois. Por exemplo: mil, expresso em binário, fica “1111101000”, não
  exactamente aquilo que podemos considerar um número “redondo” (ou, em linguagem
  menos popular, uma potência inteira da base). Em contrapartida, o número mais próximo a
  1.000 que leva à uma potência inteira de dois é 1.024 (que corresponde a 2^10), que
  expresso em binário fica “10000000000”, tornando muito mais fácil efectuar cálculos com ele
  (em binário, naturalmente). Em razão disso, decidiu-se que um quilo byte, ou 1 KB,
  corresponde a 1.024 bytes, e não a 1.000 como seria de esperar. Pela mesma razão o
  prefixo “mega”, em vez de corresponder a 1.000 x 1.000, corresponde na realidade a 1.024 x
  1.024 (ou 2^20), o que faz com que 1MB valha 1.048.576 bytes (e não um milhão de bytes).
  Fenómeno idêntico ocorre com o giga byte (1GB = 1.073.741.824 bytes, ou 2^30) e com o
  terra byte (1TB = 1.099.511.627.776, ou 2^40).

  Estes valores são utilizados na informática para exprimir, entre outras grandezas, o número
  de bytes transferidos entre dispositivos na unidade de tempo (taxas de transferência de
  dados) e capacidades de dispositivos de memória, interna (memória principal, ou memória
  RAM) ou externa (discos rígidos e similares).




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                       Página 6
No que toca à memória interna não há muita controvérsia e geralmente o critério acima é
  respeitado. Se o fabricante de um computador informa que a máquina tem, digamos, 256
  MB de memória principal, pode-se confiar que sua capacidade de memória seja de 256 x
  1.024 x 1.024, ou 268.435.456 bytes. Mas, infelizmente, o mesmo não ocorre no que toca à
  memória externa, ou memória secundária, em geral constituída por discos magnéticos, ou
  discos rígidos.

  Nesta indústria de componentes informáticos, os fabricantes costumam calcular a
  capacidade pelos critérios acima descritos usados na informática, mas ao anunciá-la,
  “arredondam” para o valor mais próximo do sistema decimal. Um exemplo: digamos que a
  capacidade de um disco rígido seja de 37 GB calculados como o usual em informática, ou
  seja, de 37 x (1.024)^3 = 39.728.447.488 bytes. Essa é a capacidade real. Mas, ao anunciar
  o produto, o fabricante “arredonda” o valor para 40 biliões e declara que a capacidade de
  seu disco rígido é de 40 GB, um número ligeiramente maior que os 37 GB reais. Uma
  artimanha duvidosa do ponto de vista técnico, mas altamente vantajosa do ponto de vista
  comercial.

  Portanto, cuidado. Quando lidar com múltiplos de bytes, verifique se foram calculados
  usando o critério adoptado correntemente na informática, ou seja, que usa para os prefixos
  “quilo”, “mega”, “giga” e “terra” potências inteiras da base 2 (ou múltiplos de 1024), ou se
  usaram o critério comercial, que adopta potências de dez. Em certos casos, pode fazer
  diferença.


  • Aprendendo a Somar



            1) Sistema de numeração
       a) O sistema de numeração foi criado pelo homem para controlar as quantidades dos
          seus diversos objetos.

       b) Como existem numeros infinitos e inteiros, é impossível inventar um nome especial
          para cada número, bem como representar cada um deles por um símbolo especial.
          Daí, a necessidade de certas regras que permitam ler e escrever qualquer número
          usando poucas palavras e poucos símbolos.

       c) O conjunto de tais regras constitui um sistema de numeração.

       d) “Sistema de Numeração é um conjunto de símbolos, palavras e regras que nos
          permite escrever e dar nomes a todos os números.”




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                       Página 7
Tipos de Sistemas de Numeração


  1. Sistemas Posicionais
        .
        a. São aqueles cujo valor do algarismo dependem do valor que ele ocupa no número
           Exemplo: Sistema Decimal 1,2,3,4,5,6,7,8,9,10, etc.

                 Observe o no 952 e o no 295. São formados pelos mesmos três algarismos: o 2, o
                 5 e o 9.

            Repare no 1o caso (no 952):
                o Porque o 2 ocupa a posição das unidades, ele vale 2 X 1 = 2;
                o Porque o 5 ocupa a posição das dezenas, ele vale 5 X 10 = 50;
                o Porque o 9 ocupa a posição das centenas, ele vale 9 X 100 = 900.

            Repare no 2o caso (no 295)
                o Porque o 5 ocupa a posição das unidades, ele vale 5 X 1 = 5;
                o Porque o 9 ocupa a posição das dezenas, ele vale 9 X 10 = 90;
                o Porque o 2 ocupa a posição das centenas, ele vale 2 X 100 = 200.

  2. Sistemas não posicionais

            a. São aqueles cujo valor do algarismo não depende do valor que ele ocupa no
               número.
               Exemplo: Sistema Romano, no sistema romano, cada algarismo decimal vale
               sempre o mesmo valor.


             1= I          6 = VI      20 = XX    70 = LXX 300 = CCC     800 = DCCC
             2 = II        7 = VII     30 = XXX   80 = LXXX 400 = CD     900 = CM
             3 = III      8 = VIII     40 = XL    90 = XC    500 = D     1000 = M
             4 = IV       9 = IX       50 = L     100 = C    600 = DC
             5=V         10 = X        60 = LX    200 = CC   700 = DCC
   .

       Observe o no 952 e o no 295. São formados pelos mesmos três algarismos: o 2, o 5 e o 9.

    o Repare no 1o caso (no 952): Em numeração romana, seria escrito CMLII.


    o Repare no 2o caso (no 295) Em numeração romana escrito CCXCV – repare que
      qualquer uma das letras C, vale 100.




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                         Página 8
3. Valor Intrínseco e Valor de Posição

       a. Valor Intrínseco – é o próprio valor do algarismo.
       b. Valor de posição – é contado da direita para a esquerda e representa a posição que o
          algarismo ocupa no número.

  4. Base de um sistema

       a. É o número de unidades necessárias para formar um conjunto padrão que auxilie na
          contagem de objectos.

  5. Sistemas de numeração de Interesse em Processamento de Dados

       a. Sistema Decimal
          o Base 10
          o Possui 10 símbolos
          o Símbolos: 0,1,2,3,4,5,6,7,8 e 9.

       b. Sistema Octal
          o Base 8
          o Possui 8 símbolos
          o Símbolos: 0,1,2,3,4,5,6 e 7.

       c. Sistema Binário
          o Base 2
          o Possui 2 símbolos
          o Símbolos: 0 e 1.


       d. Sistema Hexadecimal
          o Base 16
          o Possui 16 símbolos
          o Símbolos: 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E e F
          o Onde as letras valem respectivamente: 10, 11, 12, 13, 14 e 15.


  6. Conversão de sistema

            o Conversão de Sistemas, é a mudança de uma base para outra. Por exemplo, se
              estou no sistema decimal, estou a contar conjuntos de 10 em 10 elementos. Se
              estou no sistema octal, estou a contar conjuntos de 8 em 8 elementos.
            o Como a base em que trabalhamos a maioria do tempo é a base dez, utilizamos o
              sistema decimal para fazer contagens na maioria do tempo de trabalho. Por isso,
              a base 10 é destacada como a base preferencial, enquanto as outras, são
              chamadas de base qualquer.
            o Portanto, base qualquer, é qualquer uma, que não seja a base 10.




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                       Página 9
Tabela Numéricas e Potencias

                                  Decimal     Binário     Octal   hexadecimal




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                Página 10
Hoje em dia, por 0.50 € comprasse uma máquina de calcular electrónica capaz de efectuar
  as quatro operações elementares, raiz quadrada, elevar ao quadrado, calcular percentagem,
  oferece ainda uma memória para armazenar resultados. As primeiras, lançadas há cerca de
  trinta anos, faziam mais ou menos a mesma coisa e custavam quase mil dólares
  americanos.


  Já pensou em como é que uma máquina daquelas consegue “fazer contas”? Como, se
  utiliza apenas circuitos electrónicos, como é possível efectuar cálculos?

  Na verdade é uma singela combinação de circuitos que resulta nesse aparente milagre
  tecnológico. Como a multiplicação é uma sucessão de somas, um circuito que some, é fácil
  desenvolver um que multiplique, ou que subtraía, já que a subtracção é uma soma “ao
  contrário”. Ou que divida, já que a divisão é o oposto da multiplicação. E assim por diante.
  Então, se conseguirmos desenvolver um circuito que seja capaz de somar usando portas
  lógicas, teremos a chave da questão. Mas para entendermos um circuito capaz de somar
  precisamos, primeiro, aprender a somar.

  Então faça a seguinte soma:

  (1001 + 0101)

  Onde ambas as parcelas estão representadas em binário (ou seja, no sistema numérico
  posicional de base dois).

  Como o sistema binário usa apenas dois algarismos, o “zero” e o “um”, só existem quatro
  combinações possíveis (além do “vai um” que veremos adiante): (0 + 0), (0 + 1), (1 + 0) e (1
  + 1). Esta é toda a “tabuada de somar” dos números binários.


  A soma (zero mais zero) dará sempre zero, seja qual for a base. Assim como, em toda base,
  somar (zero mais um) ou (um mais zero) dará sempre um. O problema começa quando
  somamos, em binário, (um mais um). Porque (1 + 1 = 2) e em binário não há algarismo para
  representar dois. Na verdade, em nenhum sistema numérico posicional existe um algarismo
  para representar a base.

  Então, como representaremos “dois” em binário? É da mesma forma que representamos a
  base em qualquer sistema numérico posicional: movendo o “um” uma “casa” para a
  esquerda e acrescentando um “zero’ à sua direita. Em decimal, isso dá “10” que vale dez.
  Mas se reparar que o “10” está entre aspas? Exactamente porque este só representa “dez”
  em decimal. Na base oito, “10” representa oito, o valor da base. Na base dezasseis, “10”
  representa dezasseis; na base vinte, “10” representa vinte e assim por diante. Portanto, na
  base dois, “10” só pode representar dois. Logo, em binário: (1 + 1 = 10). E resista à tentação
  de ler isso que está entre parênteses como “um mais um é igual a dez”. Não é. Lembre-se
  que tudo ali está em binário, portanto deve ser lido “um mais um é igual a dois”, como em
  qualquer outra base. Então, somando parcelas algarismo a algarismo (ou bit a bit, já que um


Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                         Página 11
bit é justamente um “binary digit”, ou algarismo binário), sempre na mesma coluna ou “casa”,
  conforme o exemplo 1:




  Figura 1: Soma de dígitos binários (bits)



  Mas o que significa esse “Vai 1”?

  Exactamente a mesma coisa que na soma de decimais. Quando a soma de dois algarismos
  que estão na mesma posição (ou “casa”) decimal resulta em um valor igual ou superior à
  base (no caso, dez), colocamos no resultado o que “sobra” de dez e somamos uma unidade
  à posição imediatamente superior. Veja um exemplo na Figura 2.




  Figura 2: Soma na base dez


  O algoritmo para somar números expressos em sistemas numéricos posicionais é sempre o
  mesmo: coloca-se os números um acima do outro, alinhados pela direita, ou seja, com as
  posições correspondentes aos algarismos menos significativos de cada parcela
  directamente acima uma da outra e soma-se os algarismos, “casa” a “casa”, ou seja, coluna
  a coluna, da direita para a esquerda. Sempre que a soma de dois algarismos ultrapassar o
  valor da base (dez, no caso do exemplo da Figura 2), anota-se na soma o valor do resto e
  soma-se uma unidade à casa vizinha da esquerda (o popular “vai um”).




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                       Página 12
Assim desta forma acostumemo-nos a numerar as posições, ou “casas” da direita para a
  esquerda a partir de zero. A posição de ordem 0 é a da extremidade direita, correspondente
  ao algarismo menos significativo. Portanto a de ordem 1 é a segunda a partir da direita e
  assim por diante.



  Agora, voltemos ao assunto do “Vai 1”. No exemplo da Figura 2 ocorreu na casa de ordem
  1, onde (7 + 8 = 15; resto 5), na de ordem 3, onde (6 + 4 = 10; resto zero) e na de ordem 5
  (8 + 4 = 12; resto 2). Note que o último “vai um”, o da casa de ordem mais alta, a de ordem
  5, foi simplesmente acrescentado à esquerda da soma, já que não havia nada com que
  somá-lo na casa de ordem 6.




  Agora, apliquemos o mesmo algoritmo para somas em binário, ou seja, na base dois. Veja
  dois exemplos na Figura 3, o da esquerda mais simples, o da direita um pouco mais
  complicado (já veremos o porquê dessa complicação).




  Figura 3: Soma na base dois




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                      Página 13
Examine primeiro a soma da esquerda, (1001 + 0101 = 1110), repara que o algoritmo é o
  mesmo usado para a soma em decimal: soma-se os dois algarismos (no caso, os dois “bits”,
  ou dígitos binários, já que os números são expressos em binário) em cada “casa” ou coluna
  da mesma ordem a partir da direita, ou seja, começando pela coluna de ordem zero,
  correspondente ao algarismo menos significativo, repara que na coluna de ordem 0 do
  exemplo da esquerda temos (1 + 1 = 0; Vai 1), pois a soma “um mais um” é igual a dois e
  dois é a base. Esse “um” que “vai” é somado com os dois zeros da casa de ordem 1 (a
  segunda a partir da esquerda), ficando: (“Vem 1” + 0 + 0 = 1). Continue repetindo o
  algoritmo, coluna a coluna, e veja o resultado.

  Agora repare na soma do exemplo da direita. O “complicado” está na coluna de ordem 1, a
  segunda a partir da esquerda. Ela representa a soma de (1 + 1) à qual se deve acrescentar
  uma unidade devido ao “Vai 1” da coluna de ordem zero. Então, proceda assim: primeiro,
  some o “Vem 1” com o primeiro bit 1 e chegue ao resultado parcial (“Vem 1” + 1 = 0; Vai
  um). Pegue nesse um do “Vai 1” e passe para cima da coluna de ordem 2. Agora, some o
  “0” do resultado parcial com o segundo bit 1, o que resulta em (0 + 1 = 1). Escreva esse
  “um” no resultado e prossiga. Agora, que já sabemos somar, vamos aos circuitos
  somatórios.



  A primeira coisa que temos que considerar é que a coluna mais fácil de somar é a coluna
  (ou “casa”) de ordem zero, a que corresponde aos algarismos menos significativos. E a
  razão é simples: como este é sempre o primeiro a ser somado, para este nunca “Vem 1”, já
  que não há coluna alguma antes dele. Então, se construirmos a tabela dos valores possíveis
  para a soma de dois bits da coluna de ordem zero teremos o resultado exibido na Figura 4.




  Figura 4: Tabela de um somatório simples




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                     Página 14
O circuito, então, deverá ter duas entradas, A e B, correspondentes aos bits a serem
  somados, e duas saídas, S (correspondente à soma dos bits A e B) e “Vai 1”, um bit a ser
  acrescentado à próxima coluna quando o resultado da soma for igual à base (dois, no caso).
  O diagrama lógico deste circuito é mostrado na Figura 5. Como ele apenas é usado para
  somar os bits menos significativos, ou seja, os da coluna de ordem
  zero, as entradas estão assinaladas como Ao e Bo.

  Figura 5: Diagrama lógico de um circuito somatório parcial

  Como vê, somar dois bits é mais simples do que parecia, basta
  combinar duas portas lógicas, uma XOR e uma AND e o problema
  está resolvido.

  Mas como somar os demais bits de um número, aqueles nas
  posições (ou “casas”) de ordem maior que 0? O complicado,
  naturalmente, decorre do fato de ser necessário saber se “Veio 1”
  ou não da soma dos bits da posição anterior. O circuito terá então
  três entradas: os bits A e B a serem somados e o eventual “Vem 1”
  da posição de ordem imediatamente inferior. E duas saídas, S, o
  resultado da soma, e o “Vai 1” caso a soma iguale ou exceda o
  valor da base.

  As combinações de valores são as representadas pela Tabela da Figura 7.




                                       Figura 7: Tabela de um somatório completo




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                     Página 15
O circuito correspondente, com as entradas, An, Bn (os bits a serem somados) e “Vem 1”
  (de um eventual “Vai 1” da coluna de ordem imediatamente inferior), e duas saídas, S, (a
  soma dos bits An, Bn e “Vem 1”), e “Vai 1” (o bit a ser acrescentado à próxima coluna
  quando o resultado da soma for igual ou superior à base) tem seu diagrama lógico mostrado
  na figura 8.


  Figura 8: Diagrama lógico de um circuito somatório
  completo.


  Também neste caso, apesar da complicação
  adicional trazida pelo “Vem 1”, somar dois bits
  contínua a ser uma tarefa simples. O número de
  portas lógicas a serem combinadas agora são
  cinco, duas XOR, duas AND e uma OR. Também
  nesse caso pode verificar o estado do circuito.

  Nota:

  - Xor Swap é um Algoritmo que usa a função lógica OU
  exclusivo para trocar os valores de duas variáveis do mesmo
  Verdadeiro se $a ou $b são verdadeiros, mas não ambos.
  - OR Verdadeiro se $a ou $b são verdadeiros.




  Algoritmo - é uma sequência não ambígua de instruções que é executada até que determinada condição
  constitui o conjunto de processos (e símbolos que os representam) para efectuar um cálculo




  Agora que sabemos como funcionam os somatórios parcial e completo, é fácil combiná-los
  para somar dois números de dois bits cada. Os bits menos significativos (de ordem 0) são
  somados usando um circuito somatório parcial e os bits de ordem imediatamente superior
  (ordem 1) precisam utilizar um somatório completo devido à possibilidade de “vir 1” da soma
  dos bits menos significativos. A Figura 10 mostra o diagrama lógico deste circuito.




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                            Página 16
Figura 10: Diagrama lógico de um circuito somatório de dois bits

  Imagine que os números sejam ordenados um acima do outro, de forma que os bits menos
  significativos fiquem um sobre o outro, no caso Ao e Bo, somados pelo somatório parcial à
  direita da figura. Veja que o “Vai 1” desta soma é encaminhado directamente (como a
  entrada “Vem 1”) ao somatório completo, à esquerda. Os bits dos resultados das somas das
  duas colunas são mostrados em baixo, na saída. Caso haja um “estouro” (o resultado não
  couber em um número de dois bits, ou seja, se for maior que três) isso se reflectirá na saída
  “Vai 1” à esquerda, que assumirá o valor “um”.



  Veja como este circuito funciona na Animação 3 (funciona na apresentação da aula - formador CR). Altere os
  valores das parcelas clicando sobre os botões rectangulares “Ligar” e “Desligar” para atribuir
  valores “zero” e “um” a cada bit das parcelas A e B (os valores resultantes são mostrados
  em binário e decimal á direita da figura, tanto para A e B quanto para a soma S; neste último
  caso, quando o valor da soma exceder a três, ou seja, quando a saída “Vai 1” estiver activa,
  o bit “1” correspondente é mostrado entre parênteses à esquerda dos dois bits da soma).
  Repare como, apesar da aparente complexidade, somar dois números é uma tarefa
  relativamente simples com o uso de circuitos digitais que empregam portas lógicas.




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                                    Página 17
Os valores possíveis de números de dois bits vão de zero a quatro. O número total de
  combinações de somas é de dezasseis (4 x 4 = 16). Já um circuito somatório de duas
  parcelas de oito bits cada resultaria em somas de dois números que variam de zero a 255 e
  a combinação de todas as parcelas possíveis atingiria a 65.536 (256 x 256). O circuito não é
  muito complicado, mas resultaria num emaranhado de ligações que acabaria por dificultar a
  compreensão. Mas, para facilitar o entendimento e mostrar como pode-se combinar
  qualquer número de somatórios, o esquema em baixo, mostra o diagrama lógico de um
  circuito capaz de somar duas parcelas de quatro bits cada.




                     Figura 12: Diagrama lógico de um circuito somatório de quatro bits




  Como vê, não há mistério nos circuitos digitais. Basta um pouco de paciência para entendê-
  los. O exemplo em cima é o diagrama lógico de um dispositivo capaz de efectuar somas de
  duas parcelas de quatro bits cada (ou seja, de dois números menores que 16). Mas o
  importante não é o tamanho das parcelas, o importante é o funcionamento do circuito. Se
  entendeu como o esquema funciona, entenderá o funcionamento de um circuito capaz de
  fazer somas de parcelas de qualquer tamanho, já que basta continuar combinando circuitos
  somatórios bit a bit para aumentar o tamanho das parcelas.

  Se entendeu como somar, entenderá como subtrair, multiplicar e dividir, já que como vimos
  todas essas operações são baseadas na soma.




Carlos Alberto Gonçalves Rodrigues
Formador de Cientifico e Tecnológico
                                                                                          Página 18

Mais conteúdo relacionado

Mais procurados

Actividade - Números Binários
Actividade - Números BináriosActividade - Números Binários
Actividade - Números BináriosMário Ferreira
 
Introducao Computacao Slide 1
Introducao Computacao Slide 1Introducao Computacao Slide 1
Introducao Computacao Slide 1Duílio Andrade
 
arquitetura de computadores
arquitetura de computadoresarquitetura de computadores
arquitetura de computadoreselliando dias
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOCarlos Pereira
 
Sistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoSistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoCarlos Pereira
 
Apresentação1 sistemas numéricos
Apresentação1   sistemas numéricosApresentação1   sistemas numéricos
Apresentação1 sistemas numéricosLarissa Rozza Peluso
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digital36wa
 
Sistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesSistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesLeandro Costa
 
Matemática - Aula 3
Matemática - Aula 3Matemática - Aula 3
Matemática - Aula 3IBEST ESCOLA
 
Introdução a informatica sist. numeracao
Introdução a informatica sist. numeracaoIntrodução a informatica sist. numeracao
Introdução a informatica sist. numeracaojotaulio
 

Mais procurados (19)

Actividade - Números Binários
Actividade - Números BináriosActividade - Números Binários
Actividade - Números Binários
 
Binarios
BinariosBinarios
Binarios
 
Sistemas numéricos
Sistemas numéricosSistemas numéricos
Sistemas numéricos
 
Introducao Computacao Slide 1
Introducao Computacao Slide 1Introducao Computacao Slide 1
Introducao Computacao Slide 1
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
Edg cap01
Edg cap01Edg cap01
Edg cap01
 
arquitetura de computadores
arquitetura de computadoresarquitetura de computadores
arquitetura de computadores
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
 
Sistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoSistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de Numeração
 
Eletrônica digital aula 01
Eletrônica digital   aula 01Eletrônica digital   aula 01
Eletrônica digital aula 01
 
Sistema de numeração
Sistema de numeraçãoSistema de numeração
Sistema de numeração
 
Apresentação1 sistemas numéricos
Apresentação1   sistemas numéricosApresentação1   sistemas numéricos
Apresentação1 sistemas numéricos
 
Tabela de conversao
Tabela de conversaoTabela de conversao
Tabela de conversao
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digital
 
Sistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesSistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de Bases
 
Sistemas numéricos
Sistemas numéricosSistemas numéricos
Sistemas numéricos
 
Eletrônica digital
Eletrônica digitalEletrônica digital
Eletrônica digital
 
Matemática - Aula 3
Matemática - Aula 3Matemática - Aula 3
Matemática - Aula 3
 
Introdução a informatica sist. numeracao
Introdução a informatica sist. numeracaoIntrodução a informatica sist. numeracao
Introdução a informatica sist. numeracao
 

Semelhante a Sistemas numéricos posicionais e operações básicas em computadores

Unidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas NumericosUnidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas NumericosArthur Emanuel
 
Interligados Apresentação Final
Interligados Apresentação FinalInterligados Apresentação Final
Interligados Apresentação FinalHugo Leonardo
 
sistemasdenumeracaoutilizadosnacomputacao5.ppt
sistemasdenumeracaoutilizadosnacomputacao5.pptsistemasdenumeracaoutilizadosnacomputacao5.ppt
sistemasdenumeracaoutilizadosnacomputacao5.pptCristian129328
 
02 sistemas numeracao
02   sistemas numeracao02   sistemas numeracao
02 sistemas numeracaolaenia
 
Binary Code.pptx
Binary Code.pptxBinary Code.pptx
Binary Code.pptxMrioGaspar1
 
Apresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits BytesApresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits BytesAnne Carolline Oliveira
 
UFCD 6024.pptx
UFCD 6024.pptxUFCD 6024.pptx
UFCD 6024.pptxteresa rua
 
Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Renan Boccia
 
Introducao Computacao Slide 2
Introducao Computacao Slide 2Introducao Computacao Slide 2
Introducao Computacao Slide 2Duílio Andrade
 
Aulas arquitetura de computadores parte 1
Aulas arquitetura de computadores parte 1Aulas arquitetura de computadores parte 1
Aulas arquitetura de computadores parte 1Vitinhoops
 
Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2sinohara
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptxPatrícia Melo
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...Patrícia Melo
 

Semelhante a Sistemas numéricos posicionais e operações básicas em computadores (20)

Unidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas NumericosUnidades de Informacao, Sistemas Numericos
Unidades de Informacao, Sistemas Numericos
 
AC_aula_1-16.ppt
AC_aula_1-16.pptAC_aula_1-16.ppt
AC_aula_1-16.ppt
 
Interligados Apresentação Final
Interligados Apresentação FinalInterligados Apresentação Final
Interligados Apresentação Final
 
Ic na06
Ic na06Ic na06
Ic na06
 
sistemasdenumeracaoutilizadosnacomputacao5.ppt
sistemasdenumeracaoutilizadosnacomputacao5.pptsistemasdenumeracaoutilizadosnacomputacao5.ppt
sistemasdenumeracaoutilizadosnacomputacao5.ppt
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
02 sistemas numeracao
02   sistemas numeracao02   sistemas numeracao
02 sistemas numeracao
 
Binary Code.pptx
Binary Code.pptxBinary Code.pptx
Binary Code.pptx
 
Apresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits BytesApresentação de Sistemas Numéricos - Bits Bytes
Apresentação de Sistemas Numéricos - Bits Bytes
 
UFCD 6024.pptx
UFCD 6024.pptxUFCD 6024.pptx
UFCD 6024.pptx
 
Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1Curso básico de eletrônica digital parte 1
Curso básico de eletrônica digital parte 1
 
Unidades
UnidadesUnidades
Unidades
 
O sistema do Computador
O sistema do ComputadorO sistema do Computador
O sistema do Computador
 
Introducao Computacao Slide 2
Introducao Computacao Slide 2Introducao Computacao Slide 2
Introducao Computacao Slide 2
 
Aulas arquitetura de computadores parte 1
Aulas arquitetura de computadores parte 1Aulas arquitetura de computadores parte 1
Aulas arquitetura de computadores parte 1
 
Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2Apostila de práticas_de_eletrônica_digital_ii2
Apostila de práticas_de_eletrônica_digital_ii2
 
A Informação E Dados.pptx
A Informação E Dados.pptxA Informação E Dados.pptx
A Informação E Dados.pptx
 
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
A Informação e sua representação- Parte 1 Sistemas de numeração e conversão d...
 
Sistemas digitais 1
Sistemas digitais 1Sistemas digitais 1
Sistemas digitais 1
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 

Mais de cabaldreams

Transmissao de dados
Transmissao de dadosTransmissao de dados
Transmissao de dadoscabaldreams
 
Suportes informação
Suportes informaçãoSuportes informação
Suportes informaçãocabaldreams
 
Pequenas avarias os beeps
Pequenas avarias os beepsPequenas avarias os beeps
Pequenas avarias os beepscabaldreams
 
Esquema motherboard
Esquema motherboardEsquema motherboard
Esquema motherboardcabaldreams
 
Dado e informação
Dado e informaçãoDado e informação
Dado e informaçãocabaldreams
 
Circuitos integrados
Circuitos integradosCircuitos integrados
Circuitos integradoscabaldreams
 
Barramentos clock interno
Barramentos clock internoBarramentos clock interno
Barramentos clock internocabaldreams
 
As motherboard memorias principais
As motherboard memorias principaisAs motherboard memorias principais
As motherboard memorias principaiscabaldreams
 
As mother boards
As mother boardsAs mother boards
As mother boardscabaldreams
 

Mais de cabaldreams (11)

Transmissao de dados
Transmissao de dadosTransmissao de dados
Transmissao de dados
 
Suportes informação
Suportes informaçãoSuportes informação
Suportes informação
 
Pequenas avarias os beeps
Pequenas avarias os beepsPequenas avarias os beeps
Pequenas avarias os beeps
 
Esquema motherboard
Esquema motherboardEsquema motherboard
Esquema motherboard
 
Dado e informação
Dado e informaçãoDado e informação
Dado e informação
 
Circuitos integrados
Circuitos integradosCircuitos integrados
Circuitos integrados
 
Barramentos clock interno
Barramentos clock internoBarramentos clock interno
Barramentos clock interno
 
As motherboard memorias principais
As motherboard memorias principaisAs motherboard memorias principais
As motherboard memorias principais
 
As mother boards
As mother boardsAs mother boards
As mother boards
 
As memórias
As memóriasAs memórias
As memórias
 
Tipos memorias2
Tipos memorias2Tipos memorias2
Tipos memorias2
 

Sistemas numéricos posicionais e operações básicas em computadores

  • 1. Operadores de sistemas Informáticos EFJ-2 Ref. 1.1.3 Designação: Acções básicas do processamento de dados • Acções básicas do processamento Para que um computador processe dados é preciso movê-los até a unidade central de processamento, armazenar resultados intermediários e finais em locais onde eles possam ser encontrados posteriormente e controlar estas funções de transporte, armazenamento e processamento. Portanto, tudo que um computador faz pode ser classificado como uma dessas quatro acções elementares: processar, armazenar, mover dados e controlar estas actividades. Por mais complexas que pareçam as acções executadas por um computador, nada mais são que combinações destas quatro funções básicas. A função de mover dados é executada através do fluxo da corrente eléctrica ao longo de condutores que ligam os pontos de origem e destino e não depende de elementos activos. As funções de controlo são igualmente executadas através de pulsos de corrente, ou “sinais”, propagados em condutores eléctricos (estes pulsos, ou sinais, são interpretados pelos componentes activos, fazendo-os actuar ou não dependendo da presença ou ausência dos sinais). Portanto estas duas funções, transporte e controle, não exigem o concurso de componentes activos para sua execução, basta a existência de condutores eléctricos (fios, cabos, filetes metálicos nas placas de circuito impresso, etc.). Restam as funções de armazenar e processar dados. Armazenar dados consiste em manter um dado em certo local enquanto se precisar dele, de tal forma que possa ser recuperado quando necessário. Dados podem ser armazenados de diferentes formas. Nos computadores, são armazenados sob a forma de uma combinação de elementos que podem assumir apenas os valores numéricos “um” ou “zero”, ou os valores lógicos equivalentes, “verdadeiro” ou “falso”. Para armazenar um desses elementos é necessário apenas um dispositivo capaz de assumir um dentre dois estados possíveis (um deles representando o “um” ou “verdadeiro”, e o outro representando o “zero”, ou “falso”), manter-se nesse estado até que alguma acção externa venha a alterá-lo (portanto, ser “bi-estável”), permitir que este estado seja alterado (pelo menos uma vez) e permitir que esse estado seja “lido” ou “recuperado”. Um dispositivo que exiba estas características denomina-se “célula de memória”. O circuito electrónico elementar capaz de armazenar dados é a célula de memória. Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 1
  • 2. • Sistemas numéricos posicionais Um sistema numérico posicional é aquele em que o valor do “algarismo” ou “numérico” (representação gráfica ou símbolo de um número inferior à base) depende da posição deste algarismo no interior da representação do número (conjunto de algarismos). O sistema numérico que usamos correntemente, o sistema decimal (que adopta a “base” dez), é posicional. Por exemplo: no número 32.524 do sistema decimal, o primeiro algarismo “2” (contando a partir da direita) vale vinte unidades, enquanto o segundo vale duas mil unidades. Os valores variam devido à posição que ocupam na representação do número. A razão disso é que, um sistema numérico posicional como o sistema decimal, cada algarismo tem um valor igual ao do próprio algarismo multiplicado pela “base” elevada à posição ocupada pelo número. As posições são numeradas da direita para a esquerda a partir de zero. Então, lembrando que o sistema decimal usa a base dez, consegue-se o valor do número 32.524 somando as seguintes parcelas (obtidas considerando os algarismos tomados da direita para a esquerda): 4 Multiplicado por 10 (base) elevado à potência 0 (posição 0) = 4 x 1 = 4 2 multiplicado por 10 (base) elevado à potência 1 (posição 1) = 2 x 10 = 20 5 multiplicado por 10 (base) elevado à potência 2 (posição 2) = 5 x 100 = 500 2 multiplicado por 10 (base) elevado à potência 3 (posição 3) = 2 x 1.000 = 2.000 3 multiplicado por 10 (base) elevado à potência 4 (posição 4) = 3 x 10.000 = 30.000 A soma, naturalmente, resulta em 32.524. E basta reparar a forma pela qual o número dez foi utilizado na obtenção do valor do número para entender porque ele é a “base” do sistema numérico. Pode-se usar qualquer número como base para criar um sistema numérico posicional. Basta seguir a regra acima delineada: obtém-se o valor do número multiplicando-se o valor de cada numeral pela base elevada à posição ocupada por ele e somando todas as parcelas. Assim, o sistema decimal usa dez algarismos (de zero a nove), o sistema de base oito adoptará oito (de zero a sete) e o sistema de base dezasseis, muito usado em informática, necessitará de dezasseis algarismos (os mesmos zero a nove do sistema decimal ao qual se agregaram os símbolos “A”, “B”, “C”, “D” “E” e “F” para representar os algarismos de dez a quinze). O sistema numérico posicional de base dois chama-se “sistema binário” e utiliza, naturalmente, apenas dois algarismos, o zero e um. Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 2
  • 3. Sistema binário; bits e bytes Computadores são constituídos internamente por circuitos eléctricos ou electrónicos. A grande maioria dos componentes dos circuitos eléctricos podem assumir apenas um de dois estados. Por exemplo: interruptores (ou transístores, se usados como “chaveadores de corrente”) podem estar fechados ou abertos; capacitores podem estar carregados ou descarregados; lâmpadas podem estar acesas ou apagadas; circuitos podem estar com energia ou sem energia; e assim por diante. Se estabelecermos que um desses estados representa o “um” e que o outro representa o “zero”, os dispositivos podem ser usados para representar números expressos no sistema binário, o sistema numérico posicional de base dois que usa apenas os algarismos, “um” e “zero”. Por exemplo, se deseja representar, neste sistema numérico, o número dez mediante um conjunto de lâmpadas, onde uma lâmpada acesa representa o algarismo “1” e uma lâmpada apagada o algarismo “0”. No sistema binário, o número dez assume a forma “1010” (para acompanhar este raciocínio basta saber que qualquer número pode ser expresso na base dois usando apenas os algarismos “1” e “0”; portanto, mesmo que não saiba fazer a conversão de números do sistema decimal para o binário, acredite que “dez” em binário é “1010”). Portanto, para representar o número dez bastam quatro lâmpadas uma ao lado da outra, a da esquerda acesa, sua vizinha apagada, a seguinte acesa e a última da direita apagada, na configuração “1010”. A Figura 1 mostra a soma de dois números representados por lâmpadas (que, por sua vez, representam os dígitos binários “1” e “0” em seus estados “acesa” e “apagada”), no sistema binário e no sistema decimal. Soma de dois números Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 3
  • 4. A característica mais notável deste sistema numérico é a utilização exclusiva dos algarismos “1” e “0”, os chamados “dígitos binários” para exprimir todas as quantidades e todos os valores de quaisquer variáveis usando uma combinação de um determinado número de dígitos binários, ou seja, usando apenas os algarismos “1” e “0” (é por isso que uma célula de memória precisa armazenar apenas esses dois valores). O uso exclusivo dos algarismos “1” e “0” nos circuitos internos dos computadores pode levar a crer que apenas servem para resolver problemas muito específicos, cujas grandezas de entrada e saída assumam apenas dois valores e que portanto sua utilização há de ser extremamente limitada. Esta conclusão é falsa. Na verdade, toda e qualquer grandeza do mundo real, desde as cores e posições dos pontos que formam a imagem da Mona Lisa, os compassos, timbres e notas musicais que compõem as musicas dos nossos cantores preferidos, o conjunto de caracteres que até a sucessão ordenada de aminoácidos que formam o DNA dos seres vivos, em suma: toda e qualquer criação humana ou da natureza, seja ela qual for, pode ser codificada e representada (com maior ou menor precisão) sob a forma de um conjunto de números. E estes números podem ser expressos no sistema binário. O processo de conversão das grandezas do mundo real em quantidades expressas no sistema binário chama-se “digitalização” (por exemplo: o dispositivo denominado “scanner” nada mais é que um digitalizador de imagens, enquanto o processo de gravação de um CD de áudio é a digitalização de sons É por isso que o computador é uma máquina tão versátil, se presta a actividades tão disparatadas como calcular, escrever, desenhar, reproduzir músicas ou vídeo. Um dígito binário, então, é um algarismo do sistema numérico de base dois (há apenas dois: “zero” e “um”). Em inglês, “dígito binário” é “binary digit”, cuja contracção produz “bit”. Um bit, portanto, nada mais é que um dígito binário, um algarismo do sistema numérico posicional de base 2. O bit é a menor unidade de dado (ou informação) que pode ser armazenada num computador. Parece pouco, mas ainda assim essa quantidade mínima de informação tem algumas aplicações práticas (especialmente se associada a seus valores lógicos “verdadeiro” e “falso”, respectivamente). Mas, evidentemente, não se pode fazer muito processando valores de um único bit. Na linguagem humana escrita a menor unidade de informação é uma letra, ou “caracteres”. Letras isoladas, como “f” ou “S”, não podem representar muita coisa, mas a combinação de algumas delas pode significar muito, como “amor”, “vida”, “alma”. Embora os computadores sejam máquinas que trabalhão internamente apenas com grandezas numéricas, de longe sua utilização mais frequente é trabalhar com texto (este texto foi produzido com a ajuda de um computador e provavelmente você o está lendo com a ajuda de outro). Portanto uma das primeiras preocupações dos programadores de computadores foi desenvolver um método de codificar numericamente os caracteres, ou seja, exprimi-los sob a forma de números binários (ou “digitalizá-los”) de tal forma que fosse “entendido” por todos os computadores, mesmo os de diferentes fabricantes. Em suma: um método padronizado. Para exprimir todos os caracteres do alfabeto, precisamos usar números (binários, evidentemente) de quantos bits? Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 4
  • 5. Vejamos. O alfabeto usado no idioma português tem 23 letras. O do idioma inglês, 26 (as mesmas 23 mais o “K”, o “W” e o “Y”). Como o computador diferencia maiúsculas de minúsculas, é necessário o dobro disso, 52 códigos, para exprimi-las todas. Incluindo os algarismos “0” a “9”, chegaríamos a 62 códigos. Então bastariam os números de zero a 61 para exprimir todas as letras maiúsculas, minúsculas e algarismos. Em binário, 61 é expresso por “111101”, um número de seis bits. Se um número de seis bits é suficiente para exprimir o maior dos códigos necessários, então é suficiente para exprimir todos os outros. Logo, bastam seis bits para exprimir todos os caracteres do alfabeto mais os dez algarismos do sistema decimal. Mas isso não é o suficiente para trabalhar com texto. Além das letras, há os sinais gráficos como ponto, vírgula, acentos, sinais de exclamação e interrogação, etc. E caracteres acentuados (para um computador a palavra “é” não é constituída de dois caracteres, a letra “e” minúscula com um acento agudo sobre ela, mas sim de um único carácter que nada tem a ver com os dois anteriormente citados). Juntando tudo isso com alguns códigos de controlo (como mudança de linha), símbolos, como @ e outros, a IBM propôs um código capaz de exprimir 128 elementos. Esse código usava sete bits mas não continha diversos caracteres acentuados e símbolos de uso corrente, que foram acrescentados posteriormente, assim como alguns usados para desenhar linhas e molduras, totalizando 256 elementos que poderiam ser expressos por números de oito bits. Essa representação foi adoptada como padrão nos EUA – e posteriormente em todo o mundo – com o nome de ASCII, sigla de (American Standard Code for Information Interchange), ou Código Americano Padrão para Intercâmbio de Informações, o conhecido “código ASCII”. Devido, sobretudo, à adopção do código ASCII (além de outras razões ligadas à fabricação de microprocessadores; por exemplo: na época em que o código ASCII foi adoptado, a maioria dos microprocessadores usavam posições de memórias internas ou “registradores” – capazes de armazenar oito bits), valores expressos em binário com oito algarismos passaram a ser usados para diversas finalidades, adquirindo importância suficiente para receber designação própria. A eles foi dado o nome de byte. Um byte é então qualquer número binário expresso com oito algarismos, ou oito bits. O maior valor que um byte pode assumir é “11111111” (todos os oito bits valendo “um”) que, convertido para o sistema numérico decimal, vale “255”. O menor valor que pode ser assumido por um byte é “00000000” que, evidentemente, vale “zero” no sistema decimal. O número total de códigos que podem ser expressos por um byte é 256 (de zero a 255), Note que um byte nada tem de especial, é apenas um número binário de oito algarismos, A sua importância na informática deriva apenas do fato do código ASCII ter adoptado números de oito bits, além de razões meramente construtivas ou operacionais. Por exemplo: os códigos enviados a impressoras para controlar a impressão têm oito bits, os valores trocados pelos modems entre computadores também, assim como diversas outras operações elementares de intercâmbio de informações. Além disso, memórias costumam ser organizadas de tal forma que as operações de leitura e escrita são feitas com quantidades de um byte ou de um múltiplo de bytes (oito, dezasseis, trinta e dois, sessenta e quatro ou cento e vinte e oito bits – o que corresponde a um, dois, quatro, oito e dezasseis bytes, respectivamente). Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 5
  • 6. Múltiplos do byte Como as memórias, tradicionalmente, são organizadas de forma que sejam lidos ou escritos num byte ou um número par de bytes em cada operação de leitura ou escrita, adoptou-se como norma exprimir a capacidade de armazenamento de memórias em bytes ou em seus múltiplos. Os múltiplos do byte mais utilizados para exprimir capacidade de armazenamento ou taxas de transferência de dados são quilo byte (KB), mega byte (MB), giga byte (GB) e terra byte (TB). Levando-se em conta o uso padronizado dos prefixos “quilo”, “mega”, “giga” e “terra” no sistema decimal, o prefixo “quilo” deveria indicar mil bytes e cada um dos demais o anterior multiplicado por mil. Infelizmente, em informática, as coisas são um pouco mais complicadas. Os prefixos acima foram concebidos para exprimirem potências inteiras da base no sistema numérico de base dez. Assim, o prefixo “quilo” corresponde a mil vezes a unidade, ou 10^3, “mega” corresponde a um milhão, ou 10^6, “giga” a um bilhão, ou 10^9 e “terra” a um trilião, ou 10^12. O sistema binário usa a base 2. Ocorre que potências inteiras de dez não correspondem a potências inteiras de dois. Por exemplo: mil, expresso em binário, fica “1111101000”, não exactamente aquilo que podemos considerar um número “redondo” (ou, em linguagem menos popular, uma potência inteira da base). Em contrapartida, o número mais próximo a 1.000 que leva à uma potência inteira de dois é 1.024 (que corresponde a 2^10), que expresso em binário fica “10000000000”, tornando muito mais fácil efectuar cálculos com ele (em binário, naturalmente). Em razão disso, decidiu-se que um quilo byte, ou 1 KB, corresponde a 1.024 bytes, e não a 1.000 como seria de esperar. Pela mesma razão o prefixo “mega”, em vez de corresponder a 1.000 x 1.000, corresponde na realidade a 1.024 x 1.024 (ou 2^20), o que faz com que 1MB valha 1.048.576 bytes (e não um milhão de bytes). Fenómeno idêntico ocorre com o giga byte (1GB = 1.073.741.824 bytes, ou 2^30) e com o terra byte (1TB = 1.099.511.627.776, ou 2^40). Estes valores são utilizados na informática para exprimir, entre outras grandezas, o número de bytes transferidos entre dispositivos na unidade de tempo (taxas de transferência de dados) e capacidades de dispositivos de memória, interna (memória principal, ou memória RAM) ou externa (discos rígidos e similares). Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 6
  • 7. No que toca à memória interna não há muita controvérsia e geralmente o critério acima é respeitado. Se o fabricante de um computador informa que a máquina tem, digamos, 256 MB de memória principal, pode-se confiar que sua capacidade de memória seja de 256 x 1.024 x 1.024, ou 268.435.456 bytes. Mas, infelizmente, o mesmo não ocorre no que toca à memória externa, ou memória secundária, em geral constituída por discos magnéticos, ou discos rígidos. Nesta indústria de componentes informáticos, os fabricantes costumam calcular a capacidade pelos critérios acima descritos usados na informática, mas ao anunciá-la, “arredondam” para o valor mais próximo do sistema decimal. Um exemplo: digamos que a capacidade de um disco rígido seja de 37 GB calculados como o usual em informática, ou seja, de 37 x (1.024)^3 = 39.728.447.488 bytes. Essa é a capacidade real. Mas, ao anunciar o produto, o fabricante “arredonda” o valor para 40 biliões e declara que a capacidade de seu disco rígido é de 40 GB, um número ligeiramente maior que os 37 GB reais. Uma artimanha duvidosa do ponto de vista técnico, mas altamente vantajosa do ponto de vista comercial. Portanto, cuidado. Quando lidar com múltiplos de bytes, verifique se foram calculados usando o critério adoptado correntemente na informática, ou seja, que usa para os prefixos “quilo”, “mega”, “giga” e “terra” potências inteiras da base 2 (ou múltiplos de 1024), ou se usaram o critério comercial, que adopta potências de dez. Em certos casos, pode fazer diferença. • Aprendendo a Somar 1) Sistema de numeração a) O sistema de numeração foi criado pelo homem para controlar as quantidades dos seus diversos objetos. b) Como existem numeros infinitos e inteiros, é impossível inventar um nome especial para cada número, bem como representar cada um deles por um símbolo especial. Daí, a necessidade de certas regras que permitam ler e escrever qualquer número usando poucas palavras e poucos símbolos. c) O conjunto de tais regras constitui um sistema de numeração. d) “Sistema de Numeração é um conjunto de símbolos, palavras e regras que nos permite escrever e dar nomes a todos os números.” Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 7
  • 8. Tipos de Sistemas de Numeração 1. Sistemas Posicionais . a. São aqueles cujo valor do algarismo dependem do valor que ele ocupa no número Exemplo: Sistema Decimal 1,2,3,4,5,6,7,8,9,10, etc. Observe o no 952 e o no 295. São formados pelos mesmos três algarismos: o 2, o 5 e o 9. Repare no 1o caso (no 952): o Porque o 2 ocupa a posição das unidades, ele vale 2 X 1 = 2; o Porque o 5 ocupa a posição das dezenas, ele vale 5 X 10 = 50; o Porque o 9 ocupa a posição das centenas, ele vale 9 X 100 = 900. Repare no 2o caso (no 295) o Porque o 5 ocupa a posição das unidades, ele vale 5 X 1 = 5; o Porque o 9 ocupa a posição das dezenas, ele vale 9 X 10 = 90; o Porque o 2 ocupa a posição das centenas, ele vale 2 X 100 = 200. 2. Sistemas não posicionais a. São aqueles cujo valor do algarismo não depende do valor que ele ocupa no número. Exemplo: Sistema Romano, no sistema romano, cada algarismo decimal vale sempre o mesmo valor. 1= I 6 = VI 20 = XX 70 = LXX 300 = CCC 800 = DCCC 2 = II 7 = VII 30 = XXX 80 = LXXX 400 = CD 900 = CM 3 = III 8 = VIII 40 = XL 90 = XC 500 = D 1000 = M 4 = IV 9 = IX 50 = L 100 = C 600 = DC 5=V 10 = X 60 = LX 200 = CC 700 = DCC . Observe o no 952 e o no 295. São formados pelos mesmos três algarismos: o 2, o 5 e o 9. o Repare no 1o caso (no 952): Em numeração romana, seria escrito CMLII. o Repare no 2o caso (no 295) Em numeração romana escrito CCXCV – repare que qualquer uma das letras C, vale 100. Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 8
  • 9. 3. Valor Intrínseco e Valor de Posição a. Valor Intrínseco – é o próprio valor do algarismo. b. Valor de posição – é contado da direita para a esquerda e representa a posição que o algarismo ocupa no número. 4. Base de um sistema a. É o número de unidades necessárias para formar um conjunto padrão que auxilie na contagem de objectos. 5. Sistemas de numeração de Interesse em Processamento de Dados a. Sistema Decimal o Base 10 o Possui 10 símbolos o Símbolos: 0,1,2,3,4,5,6,7,8 e 9. b. Sistema Octal o Base 8 o Possui 8 símbolos o Símbolos: 0,1,2,3,4,5,6 e 7. c. Sistema Binário o Base 2 o Possui 2 símbolos o Símbolos: 0 e 1. d. Sistema Hexadecimal o Base 16 o Possui 16 símbolos o Símbolos: 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E e F o Onde as letras valem respectivamente: 10, 11, 12, 13, 14 e 15. 6. Conversão de sistema o Conversão de Sistemas, é a mudança de uma base para outra. Por exemplo, se estou no sistema decimal, estou a contar conjuntos de 10 em 10 elementos. Se estou no sistema octal, estou a contar conjuntos de 8 em 8 elementos. o Como a base em que trabalhamos a maioria do tempo é a base dez, utilizamos o sistema decimal para fazer contagens na maioria do tempo de trabalho. Por isso, a base 10 é destacada como a base preferencial, enquanto as outras, são chamadas de base qualquer. o Portanto, base qualquer, é qualquer uma, que não seja a base 10. Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 9
  • 10. Tabela Numéricas e Potencias Decimal Binário Octal hexadecimal Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 10
  • 11. Hoje em dia, por 0.50 € comprasse uma máquina de calcular electrónica capaz de efectuar as quatro operações elementares, raiz quadrada, elevar ao quadrado, calcular percentagem, oferece ainda uma memória para armazenar resultados. As primeiras, lançadas há cerca de trinta anos, faziam mais ou menos a mesma coisa e custavam quase mil dólares americanos. Já pensou em como é que uma máquina daquelas consegue “fazer contas”? Como, se utiliza apenas circuitos electrónicos, como é possível efectuar cálculos? Na verdade é uma singela combinação de circuitos que resulta nesse aparente milagre tecnológico. Como a multiplicação é uma sucessão de somas, um circuito que some, é fácil desenvolver um que multiplique, ou que subtraía, já que a subtracção é uma soma “ao contrário”. Ou que divida, já que a divisão é o oposto da multiplicação. E assim por diante. Então, se conseguirmos desenvolver um circuito que seja capaz de somar usando portas lógicas, teremos a chave da questão. Mas para entendermos um circuito capaz de somar precisamos, primeiro, aprender a somar. Então faça a seguinte soma: (1001 + 0101) Onde ambas as parcelas estão representadas em binário (ou seja, no sistema numérico posicional de base dois). Como o sistema binário usa apenas dois algarismos, o “zero” e o “um”, só existem quatro combinações possíveis (além do “vai um” que veremos adiante): (0 + 0), (0 + 1), (1 + 0) e (1 + 1). Esta é toda a “tabuada de somar” dos números binários. A soma (zero mais zero) dará sempre zero, seja qual for a base. Assim como, em toda base, somar (zero mais um) ou (um mais zero) dará sempre um. O problema começa quando somamos, em binário, (um mais um). Porque (1 + 1 = 2) e em binário não há algarismo para representar dois. Na verdade, em nenhum sistema numérico posicional existe um algarismo para representar a base. Então, como representaremos “dois” em binário? É da mesma forma que representamos a base em qualquer sistema numérico posicional: movendo o “um” uma “casa” para a esquerda e acrescentando um “zero’ à sua direita. Em decimal, isso dá “10” que vale dez. Mas se reparar que o “10” está entre aspas? Exactamente porque este só representa “dez” em decimal. Na base oito, “10” representa oito, o valor da base. Na base dezasseis, “10” representa dezasseis; na base vinte, “10” representa vinte e assim por diante. Portanto, na base dois, “10” só pode representar dois. Logo, em binário: (1 + 1 = 10). E resista à tentação de ler isso que está entre parênteses como “um mais um é igual a dez”. Não é. Lembre-se que tudo ali está em binário, portanto deve ser lido “um mais um é igual a dois”, como em qualquer outra base. Então, somando parcelas algarismo a algarismo (ou bit a bit, já que um Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 11
  • 12. bit é justamente um “binary digit”, ou algarismo binário), sempre na mesma coluna ou “casa”, conforme o exemplo 1: Figura 1: Soma de dígitos binários (bits) Mas o que significa esse “Vai 1”? Exactamente a mesma coisa que na soma de decimais. Quando a soma de dois algarismos que estão na mesma posição (ou “casa”) decimal resulta em um valor igual ou superior à base (no caso, dez), colocamos no resultado o que “sobra” de dez e somamos uma unidade à posição imediatamente superior. Veja um exemplo na Figura 2. Figura 2: Soma na base dez O algoritmo para somar números expressos em sistemas numéricos posicionais é sempre o mesmo: coloca-se os números um acima do outro, alinhados pela direita, ou seja, com as posições correspondentes aos algarismos menos significativos de cada parcela directamente acima uma da outra e soma-se os algarismos, “casa” a “casa”, ou seja, coluna a coluna, da direita para a esquerda. Sempre que a soma de dois algarismos ultrapassar o valor da base (dez, no caso do exemplo da Figura 2), anota-se na soma o valor do resto e soma-se uma unidade à casa vizinha da esquerda (o popular “vai um”). Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 12
  • 13. Assim desta forma acostumemo-nos a numerar as posições, ou “casas” da direita para a esquerda a partir de zero. A posição de ordem 0 é a da extremidade direita, correspondente ao algarismo menos significativo. Portanto a de ordem 1 é a segunda a partir da direita e assim por diante. Agora, voltemos ao assunto do “Vai 1”. No exemplo da Figura 2 ocorreu na casa de ordem 1, onde (7 + 8 = 15; resto 5), na de ordem 3, onde (6 + 4 = 10; resto zero) e na de ordem 5 (8 + 4 = 12; resto 2). Note que o último “vai um”, o da casa de ordem mais alta, a de ordem 5, foi simplesmente acrescentado à esquerda da soma, já que não havia nada com que somá-lo na casa de ordem 6. Agora, apliquemos o mesmo algoritmo para somas em binário, ou seja, na base dois. Veja dois exemplos na Figura 3, o da esquerda mais simples, o da direita um pouco mais complicado (já veremos o porquê dessa complicação). Figura 3: Soma na base dois Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 13
  • 14. Examine primeiro a soma da esquerda, (1001 + 0101 = 1110), repara que o algoritmo é o mesmo usado para a soma em decimal: soma-se os dois algarismos (no caso, os dois “bits”, ou dígitos binários, já que os números são expressos em binário) em cada “casa” ou coluna da mesma ordem a partir da direita, ou seja, começando pela coluna de ordem zero, correspondente ao algarismo menos significativo, repara que na coluna de ordem 0 do exemplo da esquerda temos (1 + 1 = 0; Vai 1), pois a soma “um mais um” é igual a dois e dois é a base. Esse “um” que “vai” é somado com os dois zeros da casa de ordem 1 (a segunda a partir da esquerda), ficando: (“Vem 1” + 0 + 0 = 1). Continue repetindo o algoritmo, coluna a coluna, e veja o resultado. Agora repare na soma do exemplo da direita. O “complicado” está na coluna de ordem 1, a segunda a partir da esquerda. Ela representa a soma de (1 + 1) à qual se deve acrescentar uma unidade devido ao “Vai 1” da coluna de ordem zero. Então, proceda assim: primeiro, some o “Vem 1” com o primeiro bit 1 e chegue ao resultado parcial (“Vem 1” + 1 = 0; Vai um). Pegue nesse um do “Vai 1” e passe para cima da coluna de ordem 2. Agora, some o “0” do resultado parcial com o segundo bit 1, o que resulta em (0 + 1 = 1). Escreva esse “um” no resultado e prossiga. Agora, que já sabemos somar, vamos aos circuitos somatórios. A primeira coisa que temos que considerar é que a coluna mais fácil de somar é a coluna (ou “casa”) de ordem zero, a que corresponde aos algarismos menos significativos. E a razão é simples: como este é sempre o primeiro a ser somado, para este nunca “Vem 1”, já que não há coluna alguma antes dele. Então, se construirmos a tabela dos valores possíveis para a soma de dois bits da coluna de ordem zero teremos o resultado exibido na Figura 4. Figura 4: Tabela de um somatório simples Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 14
  • 15. O circuito, então, deverá ter duas entradas, A e B, correspondentes aos bits a serem somados, e duas saídas, S (correspondente à soma dos bits A e B) e “Vai 1”, um bit a ser acrescentado à próxima coluna quando o resultado da soma for igual à base (dois, no caso). O diagrama lógico deste circuito é mostrado na Figura 5. Como ele apenas é usado para somar os bits menos significativos, ou seja, os da coluna de ordem zero, as entradas estão assinaladas como Ao e Bo. Figura 5: Diagrama lógico de um circuito somatório parcial Como vê, somar dois bits é mais simples do que parecia, basta combinar duas portas lógicas, uma XOR e uma AND e o problema está resolvido. Mas como somar os demais bits de um número, aqueles nas posições (ou “casas”) de ordem maior que 0? O complicado, naturalmente, decorre do fato de ser necessário saber se “Veio 1” ou não da soma dos bits da posição anterior. O circuito terá então três entradas: os bits A e B a serem somados e o eventual “Vem 1” da posição de ordem imediatamente inferior. E duas saídas, S, o resultado da soma, e o “Vai 1” caso a soma iguale ou exceda o valor da base. As combinações de valores são as representadas pela Tabela da Figura 7. Figura 7: Tabela de um somatório completo Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 15
  • 16. O circuito correspondente, com as entradas, An, Bn (os bits a serem somados) e “Vem 1” (de um eventual “Vai 1” da coluna de ordem imediatamente inferior), e duas saídas, S, (a soma dos bits An, Bn e “Vem 1”), e “Vai 1” (o bit a ser acrescentado à próxima coluna quando o resultado da soma for igual ou superior à base) tem seu diagrama lógico mostrado na figura 8. Figura 8: Diagrama lógico de um circuito somatório completo. Também neste caso, apesar da complicação adicional trazida pelo “Vem 1”, somar dois bits contínua a ser uma tarefa simples. O número de portas lógicas a serem combinadas agora são cinco, duas XOR, duas AND e uma OR. Também nesse caso pode verificar o estado do circuito. Nota: - Xor Swap é um Algoritmo que usa a função lógica OU exclusivo para trocar os valores de duas variáveis do mesmo Verdadeiro se $a ou $b são verdadeiros, mas não ambos. - OR Verdadeiro se $a ou $b são verdadeiros. Algoritmo - é uma sequência não ambígua de instruções que é executada até que determinada condição constitui o conjunto de processos (e símbolos que os representam) para efectuar um cálculo Agora que sabemos como funcionam os somatórios parcial e completo, é fácil combiná-los para somar dois números de dois bits cada. Os bits menos significativos (de ordem 0) são somados usando um circuito somatório parcial e os bits de ordem imediatamente superior (ordem 1) precisam utilizar um somatório completo devido à possibilidade de “vir 1” da soma dos bits menos significativos. A Figura 10 mostra o diagrama lógico deste circuito. Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 16
  • 17. Figura 10: Diagrama lógico de um circuito somatório de dois bits Imagine que os números sejam ordenados um acima do outro, de forma que os bits menos significativos fiquem um sobre o outro, no caso Ao e Bo, somados pelo somatório parcial à direita da figura. Veja que o “Vai 1” desta soma é encaminhado directamente (como a entrada “Vem 1”) ao somatório completo, à esquerda. Os bits dos resultados das somas das duas colunas são mostrados em baixo, na saída. Caso haja um “estouro” (o resultado não couber em um número de dois bits, ou seja, se for maior que três) isso se reflectirá na saída “Vai 1” à esquerda, que assumirá o valor “um”. Veja como este circuito funciona na Animação 3 (funciona na apresentação da aula - formador CR). Altere os valores das parcelas clicando sobre os botões rectangulares “Ligar” e “Desligar” para atribuir valores “zero” e “um” a cada bit das parcelas A e B (os valores resultantes são mostrados em binário e decimal á direita da figura, tanto para A e B quanto para a soma S; neste último caso, quando o valor da soma exceder a três, ou seja, quando a saída “Vai 1” estiver activa, o bit “1” correspondente é mostrado entre parênteses à esquerda dos dois bits da soma). Repare como, apesar da aparente complexidade, somar dois números é uma tarefa relativamente simples com o uso de circuitos digitais que empregam portas lógicas. Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 17
  • 18. Os valores possíveis de números de dois bits vão de zero a quatro. O número total de combinações de somas é de dezasseis (4 x 4 = 16). Já um circuito somatório de duas parcelas de oito bits cada resultaria em somas de dois números que variam de zero a 255 e a combinação de todas as parcelas possíveis atingiria a 65.536 (256 x 256). O circuito não é muito complicado, mas resultaria num emaranhado de ligações que acabaria por dificultar a compreensão. Mas, para facilitar o entendimento e mostrar como pode-se combinar qualquer número de somatórios, o esquema em baixo, mostra o diagrama lógico de um circuito capaz de somar duas parcelas de quatro bits cada. Figura 12: Diagrama lógico de um circuito somatório de quatro bits Como vê, não há mistério nos circuitos digitais. Basta um pouco de paciência para entendê- los. O exemplo em cima é o diagrama lógico de um dispositivo capaz de efectuar somas de duas parcelas de quatro bits cada (ou seja, de dois números menores que 16). Mas o importante não é o tamanho das parcelas, o importante é o funcionamento do circuito. Se entendeu como o esquema funciona, entenderá o funcionamento de um circuito capaz de fazer somas de parcelas de qualquer tamanho, já que basta continuar combinando circuitos somatórios bit a bit para aumentar o tamanho das parcelas. Se entendeu como somar, entenderá como subtrair, multiplicar e dividir, já que como vimos todas essas operações são baseadas na soma. Carlos Alberto Gonçalves Rodrigues Formador de Cientifico e Tecnológico Página 18