Prof V Vargas, IST
Sistemas de Numeração
26/11/13, Pg 1/12
Prof V Vargas, IST
Sistemas de Numeração
Sistemas de Numeração
26/11/13, Pg 2/12
/ 5º Projecto
A generalidade dos livros e cursos universitários versando Sistemas Lógicos/Digitais prefere começar por
abordar “Sistemas de Numeração”, só depois rodando a atenção para a Álgebra de Boole, Gates, etc…
O itinerário até agora percorrido é de certo modo inverso: primeiro, introduziram-se os chips SN74xx, como
meio de resolver problemas de engenharia; e só depois, a pretexto da optimização dos circuitos assim concebidos,
se abordou a álgebra de Boole – sem uma palavra sequer acerca de “Sistemas de Numeração”: foram de todo
irrelevantes...
Esta opção tem uma justificação: proporcionar aos estudantes, para quem este documento foi elaborado, o seu
envolvimento activo – isto é, o meter a mão na massa (leia-se: no laboratório) – tão cedo quanto possível, por
conseguinte sem o compasso de espera em que se traduziria estudar em primeiro lugar “Sistemas de Numeração”.
Como o próprio leitor irá constatar daqui por diante, não convém todavia protelar por mais tempo a sua
abordagem; é o que se fará nesta sessão – começando, como todas as outras Sessões, por enunciar um Projecto
concreto...
Considere que os candidatos a uma Universidade têm exame de aptidão a quatro disciplinas: Matemática,
Português, História e Arte. Um candidato é aceite se for aprovado em Matemática e ao menos noutra disciplina, ou
for aprovado em pelo menos três disciplinas.
Esse Projecto envolve 4 variáveis: a ideia é ir progredindo do mais simples para o mais complicado… Mas a
estratégia de resolução mantém-se: começar por elaborar a Tabela de Verdade… Ela encontra-se ao lado:
– à esquerda, dispõem-se quatro colunas, representando as quatro disciplinas {M, P, H, A}; conforme à praxis
recomendada, as colunas dispõem-se de modo a que a de maior peso, ‘M’, fique à esquerda…
– ‘R’, a Resposta do Circuito, volve-se ‘1’ (i.e., o candidato é aceite) apenas em cada uma das oito linhas em
que M=1 e há ao menos outro ‘1’, ou ocorrem três ou mais ‘1’s…
Exprimindo a saída como um somatório () de mintermos, vem
R =  m (7, 9, 10, 11, 12, 13, 14, 15);
e exprimindo-a como um produtório () de maxtermos, vem
‘’R =  M (0, 1, 2, 3, 4, 5, 6, 8).
(Abra-se um parêntesis: não se deverá deixar de reparar que os índices presentes no ‘’ são distintos daqueles
listados no ‘’. Isso não acontece por acaso, é claro: no ‘’, referem-se as linhas onde R=1, e, no ‘’, referem-se
as linhas onde R=0…)
A questão que é mister aprofundar agora é a seguinte: como se concluiu que, por exemplo, o identificador ‘13’
faz parte do ‘’? Dirá o leitor, e com razão: as sucessivas combinações de ‘0’s e ‘1’s nas colunas à esquerda
encontram-se ordenadas conforme a convenção enunciada aquando do 2º Projecto. Numerando consecutivamente,
de cima para baixo, essas combinações {vidé, à esquerda da Tabela, entre parêntesis: ‘0’, ‘1’, ‘2’, … até ‘15’},
confere-se qual o valor que ‘R’ assume para a combinação etiquetada por ‘13’ – e, porque se constata que, aí, R=1,
então é pacífico que, o ‘’ deverá comportar o número ‘13’…
Há, entretanto, que acentuar que o circuito tem apenas 4 variáveis… Isso viabiliza o escrever toda a Tabela de
Verdade numa única folha de papel… Mas é inevitável a pergunta: e se a saída do circuito depender de mais
entradas? Adiante-se desde já que, na continuação destas sessões, se irá considerar um circuito com 11 variáveis –
o que remete para uma Tabela com 211=2048 linhas… E não se antecipa agradável a tarefa de a escrever toda para
discernir qual a combinação de ‘0’s e ‘1’s a que corresponde, seja, m27 ou M27…
Trata-se, pois, de inquirir: qual a combinação de ‘0’s e ‘1’s – e, por conseguinte, qual a expressão algébrica –
correspondente a algum mintermo ‘mi’ ou maxtermo ‘Mj’ genérico – ou, vice-versa, qual o índice em ‘mi’ ou ‘Mj’
correspondente à expressão algébrica de um dado mintermo ou maxtermo? E responder a isso sem ter que escrever
a Tabela “toda”!
É isso que se irá ver a seguir.
Prof V Vargas, IST
Sistemas de Numeração
26/11/13, Pg 3/12
Prof V Vargas, IST
Sistemas de Numeração
Sistemas de Numeração
26/11/13, Pg 4/12
/ Conversão mi/Mj  Expressões Algébricas
Aquando do estabelecimento da convenção relativa ao preenchimento das colunas que representam as entradas
do circuito, vidé 2º Projecto, acentuou-se: cada coluna é a repetição “por-aí-abaixo” de ciclos contendo, cada um,
alguns ‘0’s logo seguidos do mesmo número de ’1’s...
O ciclo da coluna mais à direita, ‘A’, e que é ‘01’, contém 1 ‘0’ (e 1 ‘1’); o da coluna que lhe fica à esquerda,
‘H’, e que é ‘0011’, contém 2 ‘0’s; o da coluna à esquerda desta última, ‘P’, e que é ‘00001111’, contém 4 ‘0’s; e o
da coluna à esquerda desta última, ‘M’, e que é ‘0000000011111111’, contém 8 ‘0’s.
Por comodidade, escreveram-se ao lado esses valores {8, 4, 2, 1}, entre parêntesis, mesmo abaixo de cada
coluna… Esses valores não são quaisquer: são potências-de-2 consecutivas (23, 22, 21, 20); visto de outra maneira,
se se enumerar as sucessivas colunas por {k = 3, 2, 1, 0}, o valor sob cada coluna é, precisamente, 2k.
Convencionando que cada coluna tem um peso – que é o valor abaixo dela –, constata-se o seguinte: o número
de ordem de cada linha (‘0’, ‘1’, ‘2’, até ‘15’) é a soma dos pesos das colunas em que se encontram os ‘1’s. Na
prática, e porquanto tais pesos são potências-de-2, aquele número de ordem vem a ser uma soma de algumas
potências-de-2 (concretamente, as correspondentes às colunas em que a linha assume o valor ‘1’).
Eis alguns exemplos:
– seja a linha onde a combinação das entradas {M, P, H, A} é ‘0001’; somente a coluna ‘A’ exibe um ‘1’; posto
que ela tem peso 1, o resultado de acordo com o algoritmo acima é: 1=20=1;
– seja a linha onde aquela combinação é ‘0010’; somente a coluna ‘H’ exibe um ‘1’; posto que ela tem peso 2, o
resultado do algoritmo acima é: 2=21=2;
– seja a linha onde aquela combinação é ‘0100’; somente a coluna ‘P’ exibe um ‘1’; posto que ela tem peso 4, o
resultado do algoritmo acima é: 4=22=4;
– seja a linha onde aquela combinação é ‘1000’; somente a coluna ‘M’ exibe um ‘1’; posto que ela tem peso 8,
o resultado do algoritmo acima é: 8=23=8;
– seja a linha onde aquela combinação é ‘1100’; existem duas colunas {M e P} com ‘1’; tendo elas pesos 8 e 4,
respectivamente, o resultado do algoritmo acima é: 8+4=23+22=12;
– seja enfim a linha onde aquela combinação é ‘1011’; existem três colunas {M, H e A} com ‘1’; tendo elas
pesos 8, 2 e 1, respectivamente, o resultado do algoritmo acima é: 8+2+1=23+21+20=11.
(Abra-se um parêntesis: ao longo da disciplina “Sistemas Digitais”, é assaz frequente ter que se determinar a
correspondência entre qualquer uma das dezasseis combinações das entradas da Tabela ao lado e o respectivo
número de ordem (ou vice-versa) – pelo que convém que o leitor a saiba fazer mentalmente, num ápice!).
Compreendido o algoritmo para traduzir uma combinação de ‘0’s e ‘1’s no correspondente número de ordem, é
pacífico como fazer o contrário: dado um número de ordem, determinar a correspondente combinação de ‘0’s e
‘1’s. O ponto de partida é o seguinte: um número de ordem (de uma linha) é uma soma de algumas potências-de-2
– pelo que “tudo” se resume a determinar quais as potências-de-2 cuja adição resulta naquele número de ordem.
Seja, como exemplo, a determinação da combinação de ‘0’s e ‘1’s correspondente a 25. Então,
– a maior potência-de-2 não superior a 25 é 16=24; 25 excede 16 em 25-16=9;
– a maior potência-de-2 não superior a 9 é 8=23; 9 excede 8 em 9-8=1;
– a maior potência-de-2 não superior a 1 é 1=20; 1 excede 1 em 1-1=0.
Ou seja: 25 = 16 + 8 + 1 (= 24 + 23 + 20). De que se deduz: a combinação pretendida terá ‘1’ nas colunas cujos
pesos são {16, 8 e 1} – ou, o que é o mesmo, nas colunas numeradas {4, 3 e 0} (que são os expoentes das
potências-de-2 cuja soma perfaze 25) – e terá ‘0’ nas restantes: ‘11001’. Dela, é trivial escrever a expressão
algébrica do mintermo m25, vidé ao lado.
Seja agora, como exemplo, a determinação da combinação de ‘0’s e ‘1’s correspondente a 45. Procedendo como
no exemplo precedente, deduz-se 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20. De que se deduz: a combinação
pretendida terá ‘1’ nas colunas de pesos {32, 8, 4 e 1} – ou, o que é o mesmo, nas colunas numeradas 5, 3, 2 e 0
(que são os expoentes das potências-de-2 cuja soma perfaz 45) – e terá ‘0’ nas restantes: ‘101101’. Dela, é trivial
escrever a expressão algébrica do maxtermo M45…
O algoritmo usado é trivial: pouco mais há a fazer que memorizar potências-de-2 e fazer subtracções… Mas
não é lá muito cativante, mormente se o número de ordem for muito grande… Há que investigar outro método…
Prof V Vargas, IST
Sistemas de Numeração
26/11/13, Pg 5/12
Prof V Vargas, IST
Sistemas de Numeração
Sistemas de Numeração
26/11/13, Pg 6/12
/ Intermezzo: Como contar?
Recapitulando: alguém precisa de registar uma quantidade, seja “quarenta e cinco”; esta expressão espraia-se
por dezasseis (!) caracteres, pelo que ninguém se admirará do esforço da humanidade no sentido de a traduzir
numa forma compacta… O leitor tê-la-á apreendido no banco da primária: simplesmente ‘45’, que já só envolve
dois dígitos. Ela está conforme ao assim denominado “Sistema de Numeração Decimal” – que consiste numa hábil
escolha entre 10 dígitos, a saber ‘0’, ‘1’, …, ‘9’. O desafio agora é: como escrever aquela mesma quantidade sob a
forma de uma escolha de entre, apenas, 2 dígitos: ‘0’ e ‘1’?
Por mor de curiosidade – que o saber não ocupa lugar –, a resposta irá emergir no seguimento de uma curta
incursão a alguns dos sistemas de numeração euro-asiáticos:
Sistema Unário:
Poderá o leitor imaginar o Fred Flintstone dirigir-se ao pedreiro local para lhe encomendar uma dúzia de
pedras lascadas… Como fará o pedreiro para a registar? Uma praxis verosímil será dispor, ao lado uns dos outros,
uma série de doze palitos (iguais)…
Este sistema é dito de unário – pois recorre a, somente, um símbolo (o palito) – e aditivo: quantidades maiores
volvem-se em adicionar mais palitos… Quiçá ainda restem hoje vestígios deste sistema: aquando do jogo (de
cartas) da sueca, é comum, no início, um dos jogadores traçar, num papel, quatro riscos verticais para simbolizar a
menor pontuação que uma equipa necessita acumular para ganhar… Mas, quando as quantidades em causa são
algo maiores, é claro que o sistema unário se revela ineficiente…
Sistemas M-ários:
A maneira óbvia de compactar a representação de quantidades é substituir conjuntos de palitos por algum outro
símbolo específico: o Sistema passa a suportar-se em vários símbolos. Adiante, revêm-se alguns sistemas assim:
 Sistema sumério: são definidos 60 símbolos cuneiformes – para representar as quantidades ‘1’, …, ‘60’ (vidé
ao lado os que representam ‘1’ e ‘10’). Para representar quantidades maiores, justapõem-se alguns deles…
 Sistema egípcio (cerca de 1600 aC): são definidos 7 hieróglifos – para representar as quantidades ‘1’, ‘10’,
‘100’, …, ‘1000000’ (vidé ao lado). Para representar outras quantidades, justapõem-se alguns desses símbolos, a
ordem sendo arbitrária (vidé ao lado uma das possíveis representações de ‘218’)…
 Sistema ático (Grécia, século III AC): são definidos 6 símbolos – para representar as quantidades ‘1’, ‘5’,
‘10’, ‘100’, ‘1000’ , ‘10000’ (vidé ao lado). Para representar outras quantidades, justapõem-se alguns desses
símbolos, a ordem sendo arbitrária (vidé ao lado duas possíveis representações de ‘210’)…
 Sistema romano: são definidos 7 símbolos – para representar as quantidades ‘1’, ‘5’, ‘10’, ‘50’, ‘100’ ,
‘500’, ‘1000’ (vidé ao lado). Para representar outras quantidades, justapõem-se alguns desses símbolos, a ordem
não sendo arbitrária (o leitor pode constatá-lo nas representações de ‘9’ e ‘11’ em relógios cujas horas são
etiquetadas com símbolos romanos: a justaposição de ‘I’ à direita de ‘X’ significa 10+1=11, mas a justaposição de
‘I’ à esquerda de ‘X’ significa 10-1=9)…
 Sistema indo-árabe (século VI DC, tendo chegado à Europa no século X): são definidos 10 dígitos – para
representar ‘1’, ‘2’, ‘3’, ‘4’, ‘5’ , ‘6’, ‘7’, ‘8’, ‘9’ , e – novidade, que nenhum dos sistemas precedentes representa a
quantidade zero! – ‘0’. Para representar outras quantidades, justapõem-se alguns dígitos em um número; o Sistema
é aditivo – mas a quantidade que um dígito representa depende da sua posição no seio do número.
Como exemplos, vejam-se os casos de 253 e 532. Constata-se que 253=200+50+3 e 532=500+30+2, ou seja:
– em ‘253’, o ‘5’ representa 50; mas em ‘532’ o ‘5’ representa 500!
– em ‘253’, o ‘3’ representa mesmo 3; mas em ‘532’ o ‘3’ representa 30!
– em ‘253’, o ‘2’ representa 200; mas em ‘532’ o ‘2’ representa mesmo 2!
Estes exemplos ilustram que cada uma das posições dum número tem um peso específico. E desenvolvendo
253=2×100+5×10+3×1=2×102+5×101+3×100 e 532=5×100+3×10+2×1=5×102+3×101+2×100, ficam claros os
pesos em causa: a posição mais à direita tem peso ‘1’, a que lhe está logo à esquerda tem peso ‘10’, e continuando
para a esquerda, as posições têm pesos que são as sucessivas potências-de-10: ‘1’, ‘10’, ‘100’, ‘1000’…
(Para mais detalhes, sugere-se a consulta da Tese de Mestrado de Fernando Almeida, FCUP/2007)
Prof V Vargas, IST
Sistemas de Numeração
26/11/13, Pg 7/12
Prof V Vargas, IST
Sistemas de Numeração
Sistemas de Numeração
26/11/13, Pg 8/12
/ Sistemas de Numeração Posicional
Recapitulando: no Sistema indo-árabe, o valor representado por um número é a soma dos dígitos desse número
ponderados pelas sucessivas potências-de-10. Para um número com n dígitos, isso traduz-se na fórmula
Valor  d n-1  10n-1  d n-2  10n-2  ...  d 2  102  d1  101  d0  100
Ao facto de os pesos serem potências-de-10 não será alheio o estar o sistema indo-árabe suportado num
alfabeto de 10 dígitos {‘0’, ‘1’, …, ‘9’}. O que naturalmente leva a uma pergunta: e se, em vez de o alfabeto
conter, não 10, mas um outro número, seja b, de dígitos?
Precisamente, designa-se de Sistema de Numeração posicional de base ‘b’ um sistema suportado num alfabeto
de b símbolos com a seguinte propriedade: o valor representado por um número é a soma dos dígitos desse número
ponderados pelos pesos das posições que esses dígitos ocupam no número – pesos esses que são as sucessivas
potências-de-b:
Valor  d n-1  bn-1  d n-2  bn-2  ...  d 2  b 2  d1  b1  d0  b0
Ao lado, listam-se as representações dos primeiros 19 inteiros (não-negativos) para quatro sistemas de
numeração posicionais, ditos de decimal, binário, octal e hexadecimal.
Para cada um deles, indica-se a respectiva base (respectivamente: 10, 2, 8 e 16), o nome genérico dos seus
símbolos, o respectivo alfabeto, e alguns pesos (potências-de-b). Por extenso,
– o alfabeto do sistema binário comporta dois símbolos: {‘0’ e ‘1’};
– o alfabeto do sistema octal comporta oito símbolos: {‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’};
– o alfabeto do sistema hexadecimal comporta dezasseis símbolos: {‘0’, …, ‘9’, ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’}, o
que significa: para representar o algarismo dez, usa-se o hexadecimal ‘A’, para representar onze, usa-se ‘B’, etc…
O leitor poderá conferir que a lista de números na bem conhecida base-10 segue o seguinte “algoritmo”:
 na coluna mais à direita, inscreve-se, de cima abaixo, os sucessivos dígitos do alfabeto: ‘0’, ‘1’, …, ‘9’;
esse ciclo – de comprimento 10 – é depois repetido por baixo, e novamente repetido…;
 na coluna que lhe fica à esquerda, o ciclo tem comprimento 100: nele, ocorrem 10 ‘0’ (omitidos),
seguem-se-lhe 10 ‘1’, etc.;
 na coluna que lhe fica à esquerda, o ciclo tem comprimento 1000: nele, ocorrem 100 ‘0’ (omitidos),
seguem-se-lhe 100 ‘1’, etc…
As listas de números nas demais bases seguem o mesmo “algoritmo”:
 na coluna mais à direita, inscreve-se, de cima abaixo, os sucessivos símbolos do alfabeto (de b símbolos);
esse ciclo – de comprimento b – é depois repetido por baixo, e novamente repetido ad infinitum…;
 na coluna que lhe fica à esquerda, o ciclo tem comprimento b2: nele, ocorrem b ‘0’s (omitidos), seguemse-lhe b ‘1’s, etc.;
 na coluna que lhe fica à esquerda, o ciclo tem comprimento b3: nele, ocorrem b2 ‘0’s (omitidos), seguemse-lhe b2 ‘1’s, etc…
Assim procedendo, constata-se que uma dada quantidade de objectos – seja dezoito – se representa, naquelas
bases, por, respectivamente, 18(10), 10010(2), 22(8) e 12(16). Note-se que, para não haver ambiguidade acerca da base
de numeração em que se encontra um número, ele é acompanhado duma referência – que vem a ser essa base entre
parêntesis (Ou seja: sem essa referência, desconhece-se a base em que estão escritos aqueles números: 18 poderia
estar na base 9, 10010 poderia estar na base 10, 22 poderia estar na base 3 e 12 poderia estar na base …)
Aqueles números ilustram claramente a fórmula geral acima (fazendo, é claro, as contas na conhecida base 10):
18(10)  1×101+8×100 = 10+8 = 18(10);
10010(2)  1×24+1×21 = 16+2 = 18(10);
22(8)  2×81+2×80 = 16+2 = 18(10);
12(16)  1×161+2×160 = 16+2= 18(10).
A terminar: a base 10 é aquela com que o leitor terá aprendido a lidar na primária… Já a base 2 é a que suporta
os Sistemas Digitais (inclusive os modernos computadores) – que, se tem visto, só reconhecem dois símbolos. Ela,
todavia, pois que eventualmente vem a traduzir-se em longas sucessões de ‘0’s e ‘1’s, é por demais incómoda para
os seres humanos – pelo que a praxis comum é compactá-la nas bases 8 e 16. É o que se verá a seguir…
Prof V Vargas, IST
Sistemas de Numeração
26/11/13, Pg 9/12
Prof V Vargas, IST
Sistemas de Numeração
Sistemas de Numeração
26/11/13, Pg 10/12
/ Conversão entre Bases
Os Sistemas de Numeração mais usados no contexto de Sistemas Digitais são os de base 10, 2, 8 e 16. E natural
é que se ponha a seguinte pergunta: dado um número que representa alguma quantidade numa dessas bases, como
obter o número equivalente (isto é: que representa essa mesma quantidade) em alguma outra dessas bases?
A este respeito, é trivial passar/converter da base 2 para as bases 8 ou 16, e vice-versa: números nestas duas
bases podem entender-se como representações comprimidas da representação na base 2. Vejam-se exemplos:
– Compressão de Binário em Octal ou Hexadecimal:
– seja um número escrito na base 2: 1011100(2); para o converter para a base 8, procede-se mentalmente à
repartição dos seus dígitos em grupos-de-3 (recorde: 8=23), da direita para a esquerda (e, se preciso, antepondo
‘0’s à esquerda); conclui-se substituindo cada trio de bits pelo seu equivalente na base 8 (vidé ao lado);
– seja um outro número na base 2: 10110100110(2); para o converter para a base 16, procede-se mentalmente
à repartição dos seus dígitos em grupos-de-4 (recorde: 16=24), da direita para a esquerda (e, se preciso, antepondo
‘0’s à esquerda); conclui-se substituindo cada quarteto de bits pelo seu equivalente na base 16 (vidé ao lado):
– Expansão de Octal ou Hexadecimal em Binário:
– seja um número escrito na base 8: 162(8); para o converter para a base 2, substitui-se cada dígito pelo trio
de bits que o representa na base 2 (e removem-se eventuais ‘0’s que venham a ocorrer à esquerda, vidé ao lado):
– seja um número escrito na base 16: C03F(16); para o converter para a base 2, substitui-se cada símbolo pelo
quarteto de bits que o representa na base 2 (e removem-se eventuais ‘0’s que venham a ocorrer à esquerda):
– Conversão de Octal em Hexadecimal ou vice-versa:
– como corolário: para converter um número escrito na base 8 para a base 16 (ou vice-versa), procede-se
primeiramente à sua expansão, para a base 2, e logo depois à sua compressão, para a outra base.
A passagem/conversão de qualquer base b para a base 10 logra-se como já se ilustrou: somam-se os dígitos
ponderados pelos pesos (potências-da-base b) das posições que ocupam no número… Isto é válido mesmo quando
o número tem parte “decimal”, vidé ao lado a conversão do número 351,3(7). A fórmula a aplicar é, como se intui:
Valor  d n-1  bn-1  d n-2  bn-2  ...  d 2  b 2  d1  b1  d 0  b0  d -1  b- 1  d -2  b-2  ...
A passagem/conversão inversa – da base 10 para qualquer outra –, e no caso geral de o número dado ter partes
inteira e decimal, envolve dois algoritmos (cuja justificação é trivial); seja dado o número 2012,9765625(10)…
– para a parte inteira, 2012(10), recorre-se a divisões sucessivas pela nova base. Como exemplo, seja o caso
de se pretender convertê-lo para a base 8; faz-se o seguinte (vidé ao lado):
– divide-se 2012 por 8 – resultando o quociente 251 e o resto 4;
– divide-se esse quociente, 251, por 8 – resultando o quociente 31 e o resto 3;
– divide-se esse quociente, 31, por 8 – resultando o quociente 3 e o resto 7.
O valor representado por 2012(10) representa-se, na base 8, pelo último quociente seguido dos sucessivos restos
(pela ordem inversa em que foram sendo logrados): 3734(8).
– se se quiser converter 2012(10) para a base 16, recorre-se a divisões sucessivas – por 16! (vidé ao lado);
– se se quiser converter 2012(10) para a base 2, também se recorre a divisões sucessivas – por 2! – ou, mais
rápido, expande-se uma das representações a que se chegou (nas bases 8 ou 16) –, chegando-se a 11111011100(2);
– para a parte decimal, 0,9765625(10), recorre-se a multiplicações sucessivas pela nova base. Como exemplo,
seja o caso de se pretender convertê-lo para base 8; faz-se o seguinte (vidé ao lado):
– multiplica-se 0,9765625 por 8 – resultando uma parte inteira 7 e uma parte decimal 0,8125;
– multiplica-se essa parte decimal 0,8125 por 8 – resultando uma parte inteira 6 e uma parte decimal 0,5;
– multiplica-se essa parte decimal 0,5 por 8 – resultando uma parte inteira 4 e uma parte decimal 0.
O valor representado por 0,9765625(10) representa-se, na base 8, por um número cuja parte inteira é 0 e cuja
parte decimal vem a ser as sucessivas partes inteiras (pela ordem em que foram sendo logradas): 0,764(8)
(Neste exemplo, uma multiplicação volveu-se numa parte decimal nula. Nem sempre isso sucede. Suponha-se que
0,9765625(10) é o valor exacto da intensidade de uma corrente… mas o amperímetro indica 0,97: há um erro – que advém de a
sua precisão ser 0,01=10-2. As sucessivas multiplicações volvem-se num número interminável, 0,97(10)→0,76050…(8)! Donde a
pergunta: quando se deve parar? A precisão implícita no valor encontrado, 0,76050(8), é 8-5 0,00003; isto é, a mudança de
base melhorou a precisão – o que não pode ser: tem que se parar antes que a precisão advenha inferior a 0,01! Ora 8-1=0,125,
8-2=0,015 e 8-3=0,0019… Ou seja: deve parar-se de multiplicar já quando se tiverem duas casas “decimais”: 0,76(8))
Deixa-se, é claro, ao leitor a justificação dos algoritmos acima – que ela é trivial a partir da fórmula acima…
Prof V Vargas, IST
Sistemas de Numeração
26/11/13, Pg 11/12
Prof V Vargas, IST
Sistemas de Numeração
Sistemas de Numeração
26/11/13, Pg 12/12
/ Já estamos prontos a resolver o problema
Recorde-se a questão enunciada na abertura desta sessão: qual a combinação de ‘0’s e ‘1’s – e, por conseguinte,
qual a expressão algébrica – correspondente a algum mintermo ‘mi’ ou maxtermo ‘Mj’ genérico? Ou, vice-versa,
qual o índice em ‘mi’ ou ‘Mj’ correspondente à expressão algébrica de um dado mintermo ou maxtermo? E
responder a isso sem ter que escrevinhar a Tabela de Verdade “toda”!
Neste momento, já se coleccionaram os conhecimentos necessários para uma resposta justificada. Com efeito,
ao leitor não terá certamente escapado a similaridade dos resultados logrados:
– pela convenção com que se preenchem as colunas à esquerda de uma Tabela de Verdade (vidé ao lado);
– pela fórmula a que obedece a Lista dos primeiros números inteiros (não-negativos) no sistema binário.
Em ambos – na Tabela e na Lista: a coluna mais à direita é a repetição do ciclo ‘01’; a coluna à sua esquerda é a
repetição do ciclo ‘0011’; a coluna à sua esquerda é a repetição do ciclo ‘00001111’; e a coluna à sua esquerda é a
repetição do ciclo ‘0000000011111111’.
Há que não olvidar, porém, o seguinte: no sistema binário, os ‘0’s e ‘1’s são dígitos numéricos, mas na Tabela
são bits, isto é, símbolos booleanos – que em vez de ‘0’ e ‘1’ bem poderiam ser ‘F’ e ‘V’ ou ‘I’ e ‘A’…
Mas fica nítida a vantagem de, em vez de se recorrer a tais ‘F’ e ‘V’, se preferir usar ‘0’s e ‘1’s: se se
interpretarem os ‘0’s e ‘1’s das colunas à esquerda da Tabela como dígitos numéricos, então as sucessivas linhas
(combinações das variáveis) vêm a ser as representações, em base 2, do respectivo número de ordem: 0, 1, 2...
(vidé ao lado). E, pelo exposto atrás, esse número de ordem acaba por ser a soma dos seus ‘1’s ponderados pelas
sucessivas potências-de-2 – que, da direita para a esquerda, são ‘1’, ‘2’, ‘4’, ‘8’,…
Seguem-se exemplos da questão acima, ambos pressupondo uma função de 6 variáveis {A, B, C, D, E, F}:
1. O primeiro versa ‘M45’: qual a sua expressão algébrica (sem escrever a Tabela de Verdade “toda”…)?
– O primeiro passo é converter 45(10) para a base 2 – o que advém célere pela sua conversão prévia para a base 8
(mediante divisões sucessivas por 8), e expandindo depois (para a base 2) o resultado obtido (vidé ao lado);
– Com isso, logra-se 101101(2). Daqui, é trivial deduzir a correspondente expressão algébrica: porquanto ‘M’
denota um maxtermo, será uma soma de todas as variáveis; nela, recorde-se, cada variável aparece na forma
normal ou complementar, consoante respectivamente essa variável for ‘0’ ou ‘1’ naquele número ‘101101’… O
resultado de tais considerandos será A  B  C  D  E  F .
2. O segundo exemplo versa a questão contrária: qual a representação compacta de ABCDEF ?
– O primeiro passo é escrever a combinação de variáveis que corresponde àquela expressão. Porquanto ela é
um produto de todas as variáveis, trata-se um mintermo; neste, recorde-se, cada variável aparece na forma normal
ou complementar, consoante respectivamente essa variável for ‘1’ ou ‘0’… A combinação de variáveis será então
‘110101’.
– Interpretando-a como um número na base 2, 110101(2), há agora que convertê-lo para a base 10. O mais célere
será, por compactação, convertê-lo previamente para a base 8 – e, logo depois, aplicando a costumeira fórmula
(soma de potências-de-8), lograr o correspondente número na base 10; o resultado é 53. De que se conclui que a
expressão dada é o mintermo ‘m53’.
(Poderá parecer algo forçada a questão que motivou esta sessão sobre Sistemas de Numeração… – mas não o é:
nas sessões adiante, ir-se-á proceder (e justificar-se-á porquê) à violação deliberada da convenção que desde o
início presidiu à elaboração as Tabelas de Verdade: o preenchimento das colunas que representam as entradas do
circuito são a repetição “por-aí-abaixo” de ciclos contendo, cada um, alguns ‘0’s logo seguidos do mesmo número
de ’1’s... Ao cometer-se essa violação, o resultado é virem a ser outras as posições relativas das linhas da Tabela –
e natural é perguntar: aonde vai ‘parar’ a linha ‘tal’? É precisamente essa pergunta que motivou este intermezzo)
Download

Sistemas de Numeração.Bases 2-8-10