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