SISTEMAS DE NUMERAÇÃO Sistemas de Numeração Posicionais Desde quando se começou a registrar informações sobre quantidades, foram criados diversos métodos de representar as quantidades. Esse histórico pode ser encontrado em Representaçãoo da Informação Representaçã Informação.. método ao qua! estamos acostumados acostumados usa um sistema de numeração posiciona!. Isso significa que a posição ocupada por cada a!garismo em um n"mero a!tera seu va!or de uma pot#ncia de $% &na base $%' para cada casa ( esquerda. )or e*emp!o, no sistema decima! &base $%', no n"mero $+ o a!garismo $ representa $%% &uma centena ou $% ' , o + representa +% &duas de-enas de-enas ou $*$% ' e o representa mesmo & unidades ou *$% '. ssim, em nossa notação, +
$
%
$+ / $*$% 0 +*$% 0 *$% +
$
%
Base de um Sistema de Numeração base de um sistema é a quantidade de a!garismos dispon1ve! na representação. base $% é ho2e a mais usua!mente empregada, embora não se2a a "nica uti!i-ada. 3o comércio pedimos uma d"-ia d"-ia de rosas ou uma grosa de parafusos &base $+' e também marcamos marcamos o tempo em minutos e segundos &base 4%'. s computadores uti!i-am a base + &sistema bin5rio' e os programadores, programadores, por faci!idade, usam em gera! uma base que se2a uma pot#ncia de +, ta! como + &base $4 ou sistema he*adecima!' ou eventua!mente ainda + &base 8 ou sistema octa!'. 6
7
3a base $%, dispomos dispomos de $% a!garismos para a representação do do n"mero9 %, $, +, +, 7, 6, , 4, :, 8 e ;. 3a base +, seriam apenas + a!garismos9 % e $. 3a base $4, seriam $49 os $% a!garismos aos quais estamos acostumados, mais os s1mbo!os , <, =, D, E e >, representando respectivamente respectivamente $%, $$, $+, $7, $6 e $ unidades. ?enera!i-ando, ?enera!i-ando, temos que uma base b qua!quer dispor5 de b a!garismos, variando entre % e &b@$'. representação !"#$% &base &' significa $*$% 0 +*$% 0 *$% 0 7*$% 0 8*$% 9 +
%$$
%
@$
@+
?enera!i-ando, ?enera!i-ando, representamos representamos uma quantidade N qua!quer, numa dada base b, com um n"mero ta! como segue9 3 / a .b 0 .... 0 a .b 0 a .b 0 a .b 0 a .b 0 a .b 0 .... 0 a .b sendo que b
n
n
+
+
$
$
%
%
@$
@$
@+
@+
@n
@n
a .b 0 .... 0 a .b 0 a .b 0 a .b é a parte inteira e n
n
+
+
$
$
%
%
a .b 0 a .b 0 .... 0 a .b é a parte fracion5ria. @$
@$
@+
@+
@n
@n
Intuitivamente, sabemos que o maior n"mero que podemos representar, representar, com n a!garismos, na base b, ser5 o n"mero composto n ve-es pe!o maior a!garismo dispon1ve! naque!a base &ou se2a, b@$'. )or e*emp!o, o maior n"mero que pode ser representado na base $% usando usando 7 a!garismos ser5 ser5 ;;; &ou se2a, se2a, $% @ $ / ;;;'. 7
?enera!i-ando, ?enera!i-ando, podemos ver que o maior n"mero inteiro N que pode ser representado, em uma dada base b, com n a!garismos & n AcasasA', ser5 3 / b @ $. ssim, ssim, o maior n"mero de + a!garismos na base $4 ser5 >> que, na base $%, equiva!e a + / $4 @ $. n
$4
%$+
Re'resentação Bin(ria s computadores modernos uti!i-am apenas o sistema bin5rio, isto é, todas as informações arma-enadas arma-enadas ou processadas no computador usam apenas DBC grande-as, representadas representadas pe!os a!garismos % e $. Essa decisão de pro2eto deve@se ( maior faci!idade de representação interna no computador, que é obtida através de dois diferentes n1veis de tensão &ver discussão em
%$Não# de) não * e nunca ser( i+ua, a dois 3a rea!idade, A$%A A$%A não significa necessariamente necessariamente Ade-A. Ade-A. 3ós estamos acostumados a associar A$%A a Ade-A porque estamos acostumados a usar o sistema de numeração decima!. n"mero $% seria !ido Aum@-eroA na base + e va!e + &convertido para AdoisA na base de-', $% seria !ido Aum@-eroA na base e va!e &convertido para AcincoA na base de-', $% pode ser !ido como Aum@-eroA na base $% ou então como Ade-A na base de-, $% seria !ido Aum@-eroA na base $4 e va!e $4 &convertido para Ade-esseisA na base de-', etc. +
%$
%$$% $4
%$Portanto# & s. ser( i+ua, a de) se / e somente se / o n0mero esti1er re'resentado na base de)Bma curiosidade9 o n"mero A$% A va!e sempre igua! ( base, porque em uma dada base b os a!garismos poss1veis vão sempre de % a &b @ $' =omo o maior a!garismo poss1ve! em uma dada base b é igua! a &b@$', o pró*imo n"mero ser5 &b @ $ 0 $ / b' e portanto ser5 sempre $% e assim, numa dada base 2ua,2uer# o 1a,or da base ser( sem're re'resentado 'or 3&3 b
bs.9 Joda ve- que um n"mero for apresentado sem que se2a indicado em qua! sistema de numeração e!e est5 representado, estenderemos que a base é de-. Cempre que outra base for uti!i-ada, a base ser5 obrigatoriamente obrigatoriamente indicada. indicada. Bm dia pode ser que os computadores se tornem obrigatórios e se2amos todos forçados por !ei a estudar a aritmética em bin5rio Gas, Gas, mesmo antes disso, disso, quem programa programa computadores precisa conhecer a representação em bin5rio Kamos começar entendendo as pot#ncias de dois &ca!ma, isso é só o começo, depois piora'9
Re'r4Bin(ria Pot5ncia Re'r4Decima, $ + $ $% + + $%% + 6 $%%% + 8 %
$
+
7
$%%%% $%%%%% $%%%%%% $%%%%%%% $%%%%%%%% $%%%%%%%%% $%%%%%%%%%%
+ + + + + + + 6
4
:
8
;
%$$4 7+ 46 $+8 +4 $+ $.%+6
Depois &e só depois' de compreender bem a tabe!a acima, fa-endo a devida corre!ação com a representação decima!, é conveniente decorar &aaaaaarrrrrrggggggghhhhhh' os va!ores da tabe!a. s conversões entre base dois e base de- e as pot#ncias de dois são uti!i-adas a todo momento e seria perda de tempo estar toda hora convertendo. Da mesma forma que, uma ve- entendido o mecanismo da mu!tip!icação, decoramos a taboada, é muito mais efetivo saber de cor a tabe!a acima que fa-er as contas de conversão toda ve- que for necess5rio. representação bin5ria é perfeitamente adequada para uti!i-ação pe!os computadores. 3o entanto, um n"mero representado em bin5rio apresenta muitos bits, ficando !ongo e pass1ve! de erros quando manipu!ado por seres humanos normais como por e*emp!o os programadores, ana!istas e engenheiros de sistemas &bem, não tão normais assim ...'. )ara faci!itar a visua!i-ação e manipu!ação por programadores de grande-as processadas em computadores, são usua!mente adotadas as representações octa! &base 8' e principa!mente he*adecima! &base $4'. Ressa!tamos mais uma ve- que o computador opera apenas na base + e as representações octa! e he*adecima! não são usadas no computador, e!as se destinam apenas ( manipu!ação de grande-as pe!os programadores.
Re'resentação em Octa, e em 6e7adecima, Em pro2etos de inform5tica &isto é, nos traba!hos rea!i-ados pe!os programadores, ana!istas e engenheiros de sistemas', é usua! representar quantidades usando sistemas em pot#ncias do bin5rio &octa! e principa!mente he*adecima!', para redu-ir o n"mero de a!garismos da representação e conseqLentemente faci!itar a compreensão da grande-a e evitar erros. 3o sistema octa! &base 8', cada tres bits são representados por apenas um a!garismo octa! &de % a :'. 3o sistema he*adecima! &base $4', cada quatro bits são representados por apenas um a!garismo he*adecima! &de % a >'. seguir, apresentamos uma tabe!a com os n"meros em decima! e sua representação correspondente em bin5rio, octa! e he*adecima!9
8 ; $% $$ $+ $7 $6 $
$%%% $%%$ $%$% $%$$ $$%% $$%$ $$$% $$$$
$% $$ $+ $7 $6 $ $4 $:
8 ; < = D E >
Nota9 a base $4 ou sistema he*adecima! pode ser indicada também por um AFA ou AhA após o n"meroM por e*emp!o9 >>F significa que o n"mero >> &ou + em decima!' est5 em he*adecima!. 3ão confundir o AFA ou AhA com mais um d1gito, mesmo porque em he*adecima! só temos a!garismos até A>A e portanto não e*iste um a!garismo AFA. E*emp!o9 =omo seria a representação do n"mero $4 em bin5rio, octa! e he*adecima!H Co!ução9 Ceria respectivamente $%%%% , +% e $% .
%$+
8
$4
SISTEMAS DE NUMERAÇÃO 8on1ers9es entre Bases Kamos ana!isar agora as regras gerais para converter n"meros entre duas bases quaisquer.
8on1ers9es entre as bases !# % e : s conversões mais simp!es são as que envo!vem bases que são pot#ncias entre si. Kamos e*emp!ificar com a conversão entre a base + e a base 8. =omo + / 8, separando os bits de um n"mero bin5rio em grupos de tres bits &começando sempre da direita para a esquerda' e convertendo cada grupo de tres bits para seu equiva!ente em octa!, teremos a representação do n"mero em octa!. )or e*emp!o9 7
%%$ / $%.$%$.%%$ &separando em grupos de 7, sempre começando da direita para a esquerda' Cabemos que %$% / + M $%$ / M %%$ / $ portanto
%%$ / +$ +
+
+
8
+
8
+
8
+
8
Ce voc# ainda não sabe de cor, faça a conversão uti!i-ando a regra gera!. Kamos agora e*emp!ificar com uma conversão entre as bases + e $4. =omo + / $4, basta separarmos em grupos de 6 bits &começando sempre da direita para a esquerda' e converter. )or e*emp!o9 6
$
%$$%$ / $$%.$%$%.$$%$ &separando em grupos de 6 bits, sempre começando da direita para a esquerda' Cabemos que $$% / 4 M $%$% / M $$%$ / D M portanto $
%$$%$ / 4D +
+
+
$4
+
$4
+
$4
+
$4
Kamos agora e*ercitar a conversão inversa. Nuanto seria 7>F &!embrar que o F est5 designando Ahe*adecima!A' em octa!H método mais pr5tico seria converter para bin5rio e em seguida para octa!.
7>F / $$.$$$$.%$%$ &convertendo cada d1gito he*adecima! em 6 d1gitos bin5rios' / / $.$$$.$$%.$%$ &agrupando de tres em tres bits' / / $:4 &convertendo cada grupo de tres bits para seu va!or equiva!ente em octa!'. +
+
8
8on1ersão de N0meros em uma base b 2ua,2uer 'ara a base & Kamos !embrar a e*pressão gera! 25 apresentada9 3 / a .b 0 .... 0 a .b 0 a .b 0 a .b 0 a .b 0 a .b 0 .... 0 a .b b
n
n
+
+
$
$
%
%
@$
@$
@+
@+
@n
@n
me!hor forma de fa-er a conversão é usando essa e*pressão. Jomando como e*emp!o o n"mero $%$$%$ , vamos ca!cu!ar seu va!or representado na base de-. Bsando a e*pressão acima, fa-emos9 +
$%$$%$ / $*+ 0 %*+ 0 $*+ 0 $*+ 0 %*+ 0 $*+ / 7+ 0 % 0 8 0 6 0 % 0 $ / 6
+
6
7
+
$
%
%$)odemos fa-er a conversão de n"meros em qua!quer base para a base $% usando o a!goritmo acima.
E7em',os9 a' =onverter 6>F para a base $% . Co!ução9 Oembramos que o F significa que a representação é he*adecima! &base $4'. Cabemos ainda que > /$ . Então9 6*$4 0 $*$4 0 *$4 / 6*+4 0 $*$4 0 / $%+6 0 +6% 0 / $+4; $4
+
$
%
%$
%$ b' =onverter 768 para a base $%. Co!ução9 7*; 0 6*; 0 8*; 0 *; / 7*:+; 0 6*8$ 0 8*; 0 / +$8: 0 7+6 0 :+ 0 / +88 . ;
7
+
$
%
%$c' =onverter :? para a base $%. Co!ução9 Bma base b dispõe dos a!garismos entre % e &b@$'. ssim, a base $4 dispõe dos a!garismos % a > e portanto o s1mbo!o ? não pertence ( representação he*adecima!. $4
d' =onverter $%%$,%$ para a base $%. Co!ução9 $*+ 0 %*+ 0 %*+ 0 $*+ 0 %*+ 0 $*+ / 8 0 % 0 % 0 $ 0 % 0 %,+ / ;,+ +
7
+
$
%
@$
@+
e' =onverter 76,7 para a base $%. Co!ução9 7* 0 6* 0 7* / $ 0 6 0 %,4 / $;,4
%$
$
%
@$
%$f' =onverter 78,7 para a base $%. Co!ução9 Bma base b dispõe dos a!garismos entre % e &b@$'. ssim, a base 8 dispõe dos a!garismos % a : e portanto o a!garismo 8 não e*iste nessa base. representação 78,7 não e*iste na base 8. 8
8on1ersão de N0meros da Base & 'ara uma Base b 2ua,2uer conversão de n"meros da base de- para uma base qua!quer emprega a!goritmos que serão o inverso dos acima apresentados. s a!goritmos serão me!hor entendidos pe!o e*emp!o que por uma descrição forma!. Kamos a seguir apresentar os a!goritmos para a parte inteira e para a parte fracion5ria9 Parte Inteira; n"mero decima! ser5 dividido sucessivas ve-es pe!a baseM o resto de cada divisão ocupar5 sucessivamente as posições de ordem %, $, + e assim por diante até que o resto
da "!tima divisão &que resu!ta em qLociente -ero' ocupe a posição de mais a!ta ordem. Ke2a o e*emp!o da conversão do n"mero $; para a base +9
%$E*perimente fa-er a conversão contr5ria &retornar para a base $%' e ver se o resu!tado est5 correto.
Parte
%$bs.9 Em ambos os casos, a conversão foi interrompida quando encontramos o n"mero de a!garismos fracion5rios so!icitadas no enunciado. 3o entanto, como não encontramos resu!tado % em nenhuma das mu!tip!icações, poder1amos continuar efetuando mu!tip!icações indefinidamente até encontrar &se encontrarmos' resu!tado -ero. 3o caso de interrupção por chegarmos ao n"mero de d1gitos especificado sem encontramos resu!tado -ero, o resu!tado encontrado é apro*imado e essa apro*imação ser5 função do n"mero de a!garismos que ca!cu!armos. >a-endo a conversão inversa, encontraremos9 =om a!garismos fracion5rios9 )arte inteira9 $$$$ / $ )arte fracion5ria9 %,$%$%% / $*+ 0 %*+ 0 $*+ 0 %*+ 0 %*+ / %, 0 %,$+ / %,4+ +
%$@$
+
@+
@7
@6
@
%$=om $% a!garismos fracion5rios9 )arte inteira9 $$$$ / $ )arte fracion5ria9 %,$%$%%$$%%$ / $*+ 0 %*+ 0 $*+ 0 %*+ 0 %*+ 0 $*+ 0 $*+ 0 %*+ 0 %*+ 0 $*+ / $P+ 0 $P8 0 $P46 0 $P$+8 0 $P$%+6 / %, 0 %,$+ 0 %,%$4+ 0 %,%%:8$+ 0 %,%%%;:44+ / %,46;6$6%4+ +
%$+
@;
@$
@+
@
%$
%$@7
@6
@
@4
@:
@8
u se2a, podemos verificar &sem nenhuma surpresa' que, quanto maior n"mero de a!garismos forem considerados, me!hor ser5 a apro*imação.
8on1ersão de N0meros entre duas Bases 2uais2uer )ara converter n"meros de uma base b para uma outra base b= quaisquer &isso é, que não se2am os casos particu!ares anteriormente estudados', o processo pr5tico uti!i-ado é converter da base b dada para a base $% e depois da base $% para a base b= pedida. E*emp!o9 =onverter 67 para & ' . 67 / &6 * 0 7' / +7 //Q +7P; / + &resto ' !ogo 67 / +7 / +
%$;
%$
%$;
SISTEMAS DE NUMERAÇÃO Aritm*tica em Bin(rio taboada da soma aritmética em bin5rio é muito simp!es. Cão poucas regras9 &>&?& &>? >&? > ? & @e 31ai 3 'ara o d+ito de ordem su'erior > > ? @e 31ai 3 'ara o d+ito de ordem su'erior
E7em',o; Efetuar %$$$%% 0 %$$%$% bs.9 $' Oembre@se9 soma@se as co!unas da direita para a esquerda, ta! como uma soma em decima!. bs.9 +' 3o e*emp!o, são usadas, em seqL#ncia, da direita para a esquerda, todas as regrinhas acima. bs.9 7' 3a primeira !inha, em a-u!, é indicado o Avai umA. bs.9 6' )or simp!icidade, no e*emp!o estamos considerando os dois n"meros positivos. So,ução; $$@@@@@Q Avai umA %$$$%% %$$%$%0 @@@@@@@@@@ $$%$$% Kamos ver agora a taboada da subtração9 &/&?& & / ? @31em um do 'r.7imo3 /&? /?&
Obs4; =omo é imposs1ve! tirar $ de -ero, o artif1cio é Apedir emprestadoA $ da casa de ordem superior. u se2a, na rea!idade o que se fa- é subtrair $ de $% e encontramos $ como resu!tado, devendo então subtrair $ do d1gito de ordem superior &aque!e $ que se Apediu emprestadoA'. Kamos !embrar que esse a!goritmo é e*atamente o mesmo da subtração em decima! a que 25 estamos acostumados desde o curso primério. E7em',o; Efetuar $$$$%% 0 %$$%$% bs.9 $' Oembre@se9 subtrai@se as co!unas da direita para a esquerda, ta! como uma
subtração em decima!. bs.9 +' 3o e*emp!o, são usadas, em seqL#ncia, da direita para a esquerda, todas as regrinhas acima. bs.9 7' 3a primeira !inha, em verme!ho, é indicado o Avem umA. bs.9 6' )or simp!icidade, no e*emp!o estamos considerando os dois n"meros positivos.
So,ução; @@@%+@Q Avem umA $$$%% %$%$%@ @@@@@@@@@@ $%%$% 8om',emento a Base imp!ementação do a!goritmo da subtração em computadores é comp!e*a, requerendo v5rios testes. assim, em computadores a subtração em bin5rio é feita por um artif1cio. método uti!i-ado é o 3M*todo do 8om',emento a Base3 que consiste em encontrar o comp!emento do n"mero em re!ação ( base e depois somar os n"meros. s computadores funcionam sempre na base +, portanto o comp!emento ( base ser5 comp!emento a dois. =omputadores encontram o comp!emento a dois de um n"mero através de um a!goritmo que pode ser assim descrito9 / se o n0mero * 'ositi1o# mantenCa o n0mero @o com',emento de um n0mero 'ositi1o * o 'r.'rio n0mero /se o n0mero * ne+ati1o; ///in1erta o n0mero ne+ati1o ou o subtraendo na subtração @todo 1ira )ero# todo )ero 1ira um /// some ao n0mero em com',emento /// some as 'arce,as @na subtração# some o minuendo ao subtraendo /// se a soma em com',emento acarretar 31ai/um3 ao resu,tado# i+nore o trans'orte ina, =omo e*emp!o, vamos usar o a!goritmo acima na subtração $$%$ @ $$%% / %%%$ mantém o minuendo inverte o subtraendo soma minuendo e subtraendo soma $ ignora o Avai@umA
@@@Q @@@Q
$$%$ %%$$
@@@Q
$%%%%
@@@Q @@@Q
$%%%$ %%%$
Este a!goritmo ser5 ana!isado em deta!hes na seção Representação de 3"meros 3egativos em =omp!emento. Kamos ver agora a taboada da mu!tip!icação9 &7&?& &7?& 7&?& 7? 3o entanto, também a mu!tip!icação em computadores é feita por um artif1cio9 para mu!tip!icar um n"mero por n, basta somar com , n ve-es. )or e*emp!o, 6 * 7 / 6 0 6 0 6. E a divisão também pode ser feita por subtrações sucessivas que conc!u1mosH Nue qua!quer operação aritmética pode ser rea!i-ada em computadores apenas através
de somas &diretas ou em comp!emento' Oega!, mas para que serve issoH )or enquanto, ficamos por aqui. 3o cap1tu!o sobre =ircuitos Oógicos veremos como essas propriedades serão "teis para os engenheiros que pro2etam os computadores Bns e*erc1cios um pouco diferente, para desenvo!ver o racioc1nio9 a' Durante uma e*p!oração, a arqueó!oga Oar croft encontrou numa escavação uma pedra gravada com os seguintes caracteres9 ST TTT T =onc!uindo bri!hantemente &e com uma boa dose de adivinhação' que os s1mbo!os correspondiam a uma operação de adição entre dois n"meros positivos e que todos os a!garismos usados pe!a antiga civi!i-ação estão presentes na gravação, determine a base de numeração uti!i-ada, o a!garismo ar5bico correspondente a cada s1mbo!o e a representação das parce!as e do resu!tado da adição, convertidas para a base $%. b' Cr. G. recebeu certo dia um e@mai! de seu agente Uaime
REPRESENTAÇÃO DE DADOS Em um computador são arma-enados e processados apenas dados e instruç9es . Bm programa de computador é formado por uma se25ncia de instruç9es que operam sobre um conFunto de dados @os dados são os o'erandos das instruções / ver cap1tu!o sobre Representação de Instruções . Bm computador e*ecuta operações sobre dados numéricos &os n"meros' ou a!fabéticos &!etras e s1mbo!os'. )or outro !ado, um computador somente opera sobre va!ores representados em notação bin5ria, isto é, somente AentendeA bits @ uns e -eros. ssim, os dados precisam ser representados no computador &na memória e no processador' sempre através de bits, de uma forma que o computador possa interpretar corretamente o seu significado e e*ecutar as operações adequadas. Em outras pa!avras, isso significa que é preciso definir uma forma de representar os dados, codificados em uns e -eros, que possam ser interpretados pe!o computador, de forma correta e eficiente &com bom desempenho e pouco consumo de memória'.
TIPOS DE DADOS Bm programa &a seqL#ncia de instruções' dever5 manipu!ar diferentes tipos de dados. s dados podem ser9 @@numéricos @@@@ ponto fi*o &n"meros inteiros' @@@@ ponto f!utuante &n"meros reais ou fracion5rios' @@@@ <=D &representação decima! codificada em bin5rio' @@ a!fabéticos @@@@@ !etras, n"meros e s1mbo!os &codificados em C=II e E<=DI=' tipo de dado que est5 sendo fornecido ao programa dever5 ser informado pe!o programador, através de dec!arações, fa-endo com que o programa interprete o dado fornecido de acordo com a dec!aração. )or e*emp!o, na !inguagem =, dec!arações tipo int numM &inteiro' ou f!oat sa! &rea!'M indicam que a vari5ve! num é um n"mero inteiro &int' e a vari5ve! sa, é um n"mero rea! &f!oat', representação cient1fica, isto é, representado na forma X&Cina!' Ka!or *
DADOS NUMGRI8OS forma mais intuitiva de representar n"meros seria através da conversão do n"mero decima! para seu correspondente em bin5rio. =omo os computadores operam sempre em bin5rio, essa seria a forma mais imediata e eficiente. s n"meros podem ser positivos ou negativos. Bm aspecto primordia! a ser definido seria então como representar o sina!. 3esta representação foi definida a uti!i-ação de mais um bit na representação &o bit mais representativo', representando o sina!, com a seguinte convenção9
bit & ??H sina, 'ositi1o bit ??H sina, ne+ati1o4 seguir, apresentamos e*emp!os de n"meros e sua representação em bin5rio9
a,or decima, 0; @; 0$+: @$+:
a,or bin(rio com % bits @J > bit de sina, %%%%$%%$ &bit inicia! % significa positivo' $%%%$%%$ &bit inicia! $ significa negativo' %$$$$$$$ &bit inicia! % significa positivo' $$$$$$$$ &bit inicia! $ significa negativo'
ssim, uma representação em bin5rio com n bits teria dispon1veis para a representação do n"mero n-1 bits &o bit mais significativo representa o sina!'. Essa representação tem o nome de re'resentação em sina, e ma+nitude .
REPRESENTAÇÃO DE DADOS REPRESENTAÇÃO DE NKMEROS INTEIROS @PONTO
REPRESENTAÇÃO EM SINA E MANITUDE ma+nitude &isto é, o 1a,or abso,uto , que independe de sina!' de um n"mero é representada em bin5rio. sina, é representado por um bit &o bit mais significativo, isto é, o bit mais ( esquerda na representação'. )or convenção, o bit de sina! % &-ero' significa que o n"mero é positivo e o bit $ representa n"mero negativo.
va!or dos bits usados para representar a magnitude independe do sina!, isto é, sendo o n"mero positivo ou negativo, a representação bin5ria da magnitude ser5 a mesma, o que varia é apenas o bit de sina!. E*.9 %%$$ / 07 $%$$ / @7 &%$$ equiva!e ao va!or abso!uto 7'
+n representações, representando os va!ores entre @ & + n@$@$' e 0 & + n@$@$'. maior va!or inteiro positivo ser5 então 0 & + n@$@$' e o menor va!or inteiro negativo ser5 @ & +n@$@$'.
Obs4; o n"mero de bits para a representação é determinado no pro2eto do computador. Obs!4; em sina! e magnitude, e*istem duas representações para o -ero. ARITMGTI8A EM SINA E MANITUDE A,+oritmo da soma a 1eriicar o sina, das 'arce,as b se os sinais orem i+uais; @@ repetir o sina! @@ somar as magnitudes c se os sinais orem dierentes @@ verificar qua! parce!a tem maior magnitude @@ repetir o sina! da maior magnitude @@ subtrair a menor magnitude da maior magnitude A,+oritmo da subtração O a,+oritmo da subtração * o mesmo da soma# sendo eita como se osse uma soma de dois n0meros 2ue tem os sinais dierentes4 representação em sina! e magnitude apresenta uma grande desvantagem9 e!a e*ige um grande n"mero de testes para se rea!i-ar uma simp!es soma de dois n"meros inteiros. a!goritmo acima descrito é comp!icado de ser rea!i-ado no computador, o que resu!ta em bai*a efici#ncia &e*ecução !enta'. Bm outro ponto negativo é termos duas representações para o -ero.
REPRESENTAÇÃO DE DADOS REPRESENTAÇÃO DE NKMEROS EM 8OMPEMENTO =omp!emento é a diferença entre cada a!garismo do n"mero e o maior a!garismo poss1ve! na base. Bma vantagem da uti!i-ação da representação em comp!emento é que a subtração entre dois n"meros pode ser substitu1da pe!a sua soma em comp!emento. REPRESENTAÇÃO DE NKMEROS POSITIOS EM 8OMPEMENTO representação de n"meros positivos em comp!emento não tem qua!quer a!teração, isto é, é id#ntica ( representação em sina! e magnitude. REPRESENTAÇÃO DE NKMEROS NEATIOS EM 8OMPEMENTO A @BASE / representação dos n"meros inteiros negativos é obtida efetuando@se9 &base @ $' menos cada a!garismo do n"mero. >ica mais f5ci! entender através de e*emp!os9 E*.$9 =a!cu!ar o comp!emento a &base @ $' do n"mero +;: $%. Ce a base é $%, então $%@$ / ; e o comp!emento a &base @$' ser5 igua! a comp!emento a ;
E*.+9 =a!cu!ar o comp!emento a &base @ $' do n"mero 7:EF. Ce a base é $4, então $%F@$ / > e o comp!emento a &base @$' ser5 igua! a comp!emento a >. )ortanto9
E74 &base @$' @@@Q;;; / +;: =omp!emento :%+ @@@Q
E74! >>>> / 7:E =8$
8aso Particu,ar; N0meros na Base ! @8om',emento a )ara se obter o comp!emento a $ de um n"mero bin5rio, devemos subtrair cada a!garismo de $. Bma particu!aridade dos n"meros bin5rios é que, para efetuar esta operação, basta in1erter todos os bits . =omo e*emp!o, vamos ca!cu!ar o comp!emento a $ &=$' de um n"mero bin5rio %%$$ com 6 d1gitos. $$$$ @%%$$ $$%% &=$' )ortanto, bastaria inverter todos os bits Kamos ana!isar como ficaria a representação em =$ dos n"meros bin5rios de 6 d1gitos9
+n va!ores, entre @ & +n@$@$' e 0 & +n@$@$' maior va!or inteiro positivo ser5 então 0 & + n@$@$' e o menor va!or inteiro negativo ser5 @ & +n@$@$'.
Obs4; o n"mero de bits para a representação é determinado no pro2eto do computador. Obs!4; em =$ também e*istem duas representações para o -ero. Kamos verificar qua! a fai*a de representação nos seguintes e*emp!os9
>ai*a Inferior &positiva' $ +.... 6;8 6;;
>ai*a Cuperior &negativa' %% %$ ..... ;;: ;;8
$ + .... 6;8 6;;
@6;; @6;8 ..... @+ @$
-ero pode ser representado tanto por %%% quanto por ;;;. >>>, representando os n"meros de @:>>> a @%%%$ &fai*a negativa' e de 0%%%$ a 0:>>> &fai*a positiva'.
>ai*a Inferior >ai*a Cuperior &positiva' &negativa' %%%$ %%%+ ... :>>> 8%%% 8%%$ ....>>>E @:>>> @:>>E ...... %%%$ %%%+ ... :>>> @%%%$
-ero pode ser representado tanto por %%%% quanto por >>>>.
Obs; Podemos conc,uir 2ue# ta, como na re'resentação em sina, e ma+nitude# sem're 2ue em uma re'resentação em com',emento o 'rimeiro d+ito bin(rio or # o n0mero re'resentado * ne+ati1o- Mas * im'ortante notar 2ue o bit mais si+niicati1o# na re'resentação em com',emento# ao contr(rio do 2ue ocorre na re'resentação em sina, e ma+nitude# NÃO REPRESENTA O SINA DE NEATIOARITMGTI8A EM 8OMPEMENTO A @BASE / 3a aritmética em comp!emento a &base@$', basta somar os n"meros, sendo que um n"mero negativo estar5 representado por seu comp!emento. E*.9 Comar 0 $+7 com @ 6$8 &decima!'. Cina! e
=omp!emento a &base@$'
Kerificação
magnitude / 6$8 0 $+7 / +;
8$ &=;' 0$+7 :%6
;;; / +; :%6
Kerificamos que o resu!tado :%6 &=;' é um n"mero negativo, isto é, o comp!emento a ; &base $% @$' de +;. Repare que a subtração &ou soma de um n"mero positivo com um n"mero negativo' se transforma, nesta representação, em uma soma em com',emento , isto é, a soma dos comp!ementos do n"mero positivo com o n"mero negativo )ortanto, numa subtração &rea!i-ada através de soma em comp!emento', se o n"mero é positivo, mantenha@oM se o n"mero é negativo, comp!emente@oM e a1, é só somar Dessa forma, podemos constatar que o a!goritmo da soma em comp!emento é muito mais simp!es que o da soma em sina! e magnitude, de ve- que não re2uer nenCum teste . 3o entanto, continuamos com duas representações para o -ero. Kamos a seguir discutir a so!ução para esse prob!ema.
REPRESENTAÇÃO DE NKMEROS NEATIOS EM 8OMPEMENTO A BASE representação dos n"meros inteiros negativos em com',emento a base é obtida subtraindo@se da base cada a!garismo do n"mero. ra, seria a mesma coisa subtrair cada a!garismo de &base@$', isto é, ca!cu!ar o comp!emento a &base @$' e depois somar $ ao resu!tado, ou se2a9 b @ 3 / X&b@$' @ 3Y 0 $. u se2a, encontramos o comp!emento a &base@$' do n"mero &o que faci!ita muito no caso dos n"meros bin5rios' e depois somamos $ ao resu!tado. >ica mais f5ci! entender através de e*emp!os9 E*.$9 =a!cu!ar o comp!emento a base do n"mero +;: $%. Ce a base é $%, o comp!emento a base ser5 igua! a comp!emento a $%. E*.+9 =a!cu!ar o comp!emento a base do n"mero 7:Eh. Ce a base é $4 &!embremos mais uma ve- que o F ou h depois do n"mero simbo!i-a Ahe*adecima!A', o comp!emento a base ser5 igua! a comp!emento a $4 $% ou $%h. )ortanto, ca!cu!ando o comp!emento a base dos n"meros acima, temos9
E74 @a,ternati1a $%%% ;;; / +;: / +;: :%+ :%+ 0%%$ :%7 E74
E74! >>>> / 7:E =8$ 0%%%$ =8+
8aso Particu,ar; N0meros na Base ! @8om',emento a ! )ara se obter o comp!emento a + de um n"mero bin5rio, a regra gera! nos di- para subtrair cada a!garismo de +. ra, seria a mesma coisa subtrair cada a!garismo de $ &comp!emento a $' e depois somar $ ao resu!tado, ou se2a9 &+@3' / &$@3' 0 $. ssim,
tirando partido da particu!aridade dos n"meros bin5rios anteriormente apresentada ¶ obter o =$ de um n"mero bin5rio, basta in1erter todos os bits ', para obter o =+ de um n"mero obtemos primeiro o =$ &invertendo os bits' e depois somamos $ ao resu!tado. =omo e*emp!o, vamos ca!cu!ar o comp!emento a + &=+' de um n"mero bin5rio %%$$ com 6 d1gitos. $$$$ @%%$$ $$%% &=$' 0%%%$ $$%$ &=+' Kamos ana!isar como ficaria a representação em =+ dos n"meros bin5rios de 6 d1gitos9
emos assim 2ue em 8!# não C( duas re'resentaç9es 'ara o 1a,or & e conse2entemente abriu/se ,u+ar 'ara mais uma re'resentação / no caso# mais um n0mero ne+ati1o 'ode ser re'resentado4
Obs4; o n"mero de bits para a representação é determinado no pro2eto do computador. Obs!4; nesta representação somente e7iste uma re'resentação 'ara o )ero e h5 mais um n0mero ne+ati1o re'resentado 3os e*emp!os acima, vamos verificar qua! a fai*a de representação9
>ai*a Inferior &positiva' $ + .... 6;;
>ai*a Cuperior &negativa' %% %$ ..... ;;;
$ + .... 6;;
@%% @6;; ... @$
>>>, representando @8%%% a @$ &fai*a negativa' e de % a 0:>>> &fai*a positiva'. -ero tem apenas uma representação9 %%%%.
>ai*a Inferior >ai*a Cuperior &positiva' &negativa' %%%$ %%%+ ... :>>> 8%%% >%%$ ...... >>>> %%%$ %%%+ ... :>>> @8%%% @:>>>... @%%%$
Obs; Podemos conc,uir 2ue# ta, como na re'resentação em sina, e ma+nitude e em com',emento a @base/# sem're 2ue em uma re'resentação em com',emento a base o 'rimeiro d+ito bin(rio or # o n0mero re'resentado * ne+ati1o- Mas * im'ortante notar 2ue o bit mais si+niicati1o# na re'resentação em com',emento# ao contr(rio do 2ue ocorre na re'resentação em sina, e ma+nitude# NÃO REPRESENTA O SINA DE NEATIOARITMGTI8A EM 8OMPEMENTO A BASE 3a aritmética em comp!emento a base, basta somar os n"meros, sendo que um n"mero negativo estar5 representado por seu comp!emento a base. E*.9 Comar 0$+7 com @6$8 &decima!'. Cina! e =5!cu!o =+ magnitude @ 6$8 ;;; 0 $+7 @ 6$8 @ +; 8$ &=$' 0%%$ 8+ &=+'
=+ 8+ 0$+7 :% &=+'
Kerificação ;;; @ +; :%6 0 %%$ :%
Kerificamos que o resu!tado :% &=+' é um n"mero negativo, isto é, o comp!emento a $% &base $%' de +;. Repare que a subtração &ou soma de um n"mero positivo com um n"mero negativo' se transforma em uma soma em com',emento , isto é, a soma dos comp!ementos do n"mero positivo com o n"mero negativo )ortanto, se o n"mero é postivo, mantenha@oM
se o n"mero é negativo, comp!emente@oM e a1, é só somar Dessa forma, podemos constatar que o a!goritmo da soma em comp!emento é muito mais simp!es que o da soma em sina! e magnitude, de ve- que não re2uer nenCum teste .
REPRESENTAÇÃO DE DADOS ARITMGTI8A BINRIA E EM 8OMPEMENTO 3esta seção, vamos rever os conceitos 25 apresentados sobre aritmética bin5ria e em comp!emento e reso!ver a!guns e*erc1cios para e*emp!o. Inicia!mente, vamos considerar apenas n"meros positivos &o sina! não ser5 representado'. E7em',o de O'eraç9es de Adição <CE + <CE 8 <CE 8 <CE $4 <CE $4 $$$ $$ Z$$ $$$ $$$ %$$$ %:4+ :$6+ 4:; 4>=< 0 %$%$ 0 %74 0 %:4 0 6;>< 0 6ED;7 $$%% $76: ::6% >%:6 =< @ $%$ @ %74 @ %:4 @ 6;>< @ 6ED;7 %$% %7: 4766 =:E +%D78 E7erccio 9 Cuponha um sistema posiciona! de numeração na base 4. Determine os va!ores de R, C, J, K, [ e \. RKJ\R 0 CRCK\ J >[K\C Inicia!mente, devemos considerar que cada uma das !etras representa um a!garismo, sem qua!quer va!or pré@determinado. a' J / $, porque9 J só pode ser $M a soma de dois a!garismos, em qua!quer base b, ser5 no m5*imo igua! a &+ b' @$ e portanto o Avai@umA nunca ser5 Avai doisA. b' K / %, porque9 como \ 0 K / \, conc!uimos que K / % e a soma R 0 \ / C &não vai@ um'. c' C / , porque J 0 C / % o que significa que J 0 C / 4 &porque não pode ser %, !ogo é % 0 base / 4 e vai um para a pró*ima casa' e como J / $, temos portanto C / . d' ssim, R 0 K / [, como K / % e veio $ da casa anterior, temos que [ / $ 0 R Cubstituindo, temos que R 0 C / \ 0 4 !ogo R@\/$ R 0 \/ M somando as e*pressões, temos +R / 4 ou R / 7 !ogo \/+e [/6 ARITMGTI8A EM 8OMPEMENTO @ SOMA EM 8OMPEMENTO A UM a!goritmo da soma em comp!emento a um é9 a' Comar os dois n"meros, bit a bit, inc!usive o bit de sina!. b' va!iação dos casos de Avai@umA9 b.$' Ce não ocorreu vai@um para o bit de sina! nem para fora do n"mero9 @@@ este é o resu!tado correto M b.+' Ce ocorrer Avai@umA só para o bit de sina! &e não para fora do n"mero'9 /// incorreto @ ocorreu overflow @@@@@@@ &isto significa que o resu!tado e*cede a fai*a de representação para o n"mero de
bits adotado'4 b.7.$' Ce ocorrer Avai@umA para fora do n"mero9 /// para obter o resu!tado fina!, soma/se o Avai@umA e*terno ¶ fora do n"mero' ao resu!tado da somaM o bit para fora do n"mero &que e*cede o n"mero de bits adotado na representação' é despre-ado. b.7.+' 3esta soma fina! também pode ocorrer Avai@umA no "!timo bitM @@@ se o n"mero de Avai@umA ocorridos ¶ o bit de sina!, para fora do n"mero ou na soma fina!' for par &o que equiva!e a inverter duas ve-es o sina!', @@@@@@ o resu!tado est5 correto M @@@ se o n"mero for 1mpar &$ ou 7 Avai@umA'9 @@@@@@ o resu!tado est5 incorreto @ ocorreu overflow 4
E7em',os &referidos aos casos acima', considerando representação com 4 bits9 caso b.$9 caso b.+9 caso b.79 caso b.79 $ 0$% / + $% $ 0 ++ / 7: $% @$ @$% / @+$% @$ @++ / @7:$% Z$$$ $$$$ $$ $ %%$$$$ &0' %%$$$$ &0' $$%%%% &@' $$%%%% &@' 0 %%$%$% &0' 0 %$%$$% &0' 0 $
&@' 0 $%$%%$ &@' %$$%%$ &0' $%%$%$ &@' $%%$%$ %$$%%$ 0 ZZZZZZ$ 0 ZZZZZZ$ $%%$$% &@' %$$%$% &0' =RREJ OVERFLOW =RREJ OVERFLOW &ocorreu Avai@ &ocorreu Avai@ umA pP bit de umA só pP fora &só ocorreu sina! e pP fora &não ocorreu do n] mas não Avai@umA para do n] mas não Avai@umA' na soma fina! @ o bit de sina!' na soma fina! @ n] de Avai@umA n] de Avai@umA é 1mpar' é par' obs.9 soma de obs.9 soma de dois n] dois n] positivos não negativos não poderia dar poderia dar negativo positivo fai*a de repreentação com 4 bits em =$ vai de @7$ a 07$. =onferindo as contas pe!a representação decima!, vemos que os resu!tados fora desta fai*a e*cedem a fai*a da representação e não podem ser representados com 4 bits &portanto, com este n"mero de bits, ocorre overflow'. E*iste um teste pr5tico que, quando ambos os n"meros tem o mesmo sina!, pode mostrar se ocorreu overflow e o resu!tado obtido est5 incorreto9 basta ver que na soma de dois n"meros negativos, o resu!tado só pode ser negativo, e a soma de dois n"meros positivos só poderia dar resu!tado positivo ARITMGTI8A EM 8OMPEMENTO @ SOMA EM 8OMPEMENTO A DOIS a!goritmo da soma &ou subtração' em comp!emento a dois é9 a' Comar os dois n"meros, bit a bit, inc!usive o bit de sina!. b' Despre-a@se o bit para fora do n"mero, se houver. c.$' Ce não ocorreu vai@um para o bit de sina! nem para fora do n"mero ou c.+' Ce ocorrer Avai@umA tanto para o bit de sina! quanto para fora do n"mero &equiva!e a inverter duas ve-es o sina!'9 @@@ o resu!tado est5 correto M d.$' Ce ocorrer Avai@umA só para o bit de sina! &e não para fora do n"mero'9
d.+' Ce não ocorrer Avai@umA para o bit de sina! e somente ocorrer para fora do n"mero9 /// o resu!tado é incorreto @ ocorreu overflow @@@@@@@ &isto significa que o resu!tado e*cede a fai*a de representação para o n"mero de bits adotado'4 3ota9 )odemos constatar que o a!goritmo de soma em =+ é bem mais simp!es que o de soma em =$.
E7em',os &referidos aos casos acima', considerando representação com 4 bits9 caso c.$9 caso d.$9 caso c.+9 caso c.+9 caso d.+9 $0$% / $ 0 $: / @$ @$% / @$ @$: / @$ @+: / +$% 7+$% @+$% @7+$% @6+$% Z$$$ $$$$$ $ $ $$$$$ $ ZZZZ$ %%$$$$ &0' %%$$$$ &0' $$%%%$ &@' $$%%%$ &@' $$%%%$ &@' 0 %%$%$% &0' 0 %$%%%$ &0' 0 $$%$$% &@' 0 $%$$$$ &@' 0 $%%$%$ &@' %$$%%$ &0' $%%%%% &@' $%%$$$ &@' $%%%%% &@' %$%$$% &0' =RREJ OVERFLOW =RREJ =RREJ OVERFLOW &ocorreu &ocorreu Avai@umA pP Avai@umA pP &só ocorreu &só ocorreu &não bit de sina! bit de sina! Avai@umA pP Avai@umA ocorreu e pP fora do e pP fora do fora do n] @ o para o bit de Avai@umA' n] @ o n] de n] @ o n] de n] de Avai@ sina!' Avai@umA é Avai@umA é umA é 1mpar' par' par' obs.9 soma de n] obs.9 soma &despre-a@ &despre-a@ negativos de n] se o Avai@ se o Avai@ não poderia positivos não umA para umA para dar positivo poderia dar fora do fora do &despre-a negativo n"mero' n"mero' Avai@umA pP fora do n]' fai*a de repreentação com 4 bits em =+ vai de @7+ a 07$. =onferindo as contas pe!a representação decima!, vemos que os resu!tados fora desta fai*a estão necessariamente incorretos &ocorreu overflow' )ode@se ap!icar o mesmo teste pr5tico que, quando ambos os n"meros tem o mesmo sina!, pode mostrar se ocorreu overflow e o resu!tado obtido est5 incorreto9 basta ver que na soma de dois n"meros negativos, o resu!tado só pode ser negativo, e a soma de dois n"meros positivos só poderia dar resu!tado positivo ARITMGTI8A EM SINA E MANITUDE Em sina! e magnitude, o a!goritmo da soma é9 a' Ce os n"meros forem de mesmo sina!, basta somar os dois n"meros e manter o sina!M b' Ce os n"meros forem de sinais diferentes, subtrai@se o menor n"mero do maiorM o sina! ser5 o do maior n"mero. c' Jem@se overflow sempre que ocorrer Avai@umA da magnitude para o bit de sina! &o n"mero de bits da magnitude foi e*cedido'. ZZ$ $$ %%$% $%%$ %$$% &positivo e $$$% &negativo e $$$% &positivo' &negativo' maior' maior' &negativo' %$%$ $$%$ $%$% &negativo %$%% &positivo e $$%$ 0 0 0 0 0 &positivo' &negativo' e menor' menor' &negativo'
%$$$ =RREJ
$$$% %$%% =RREJ =RREJ sinais contr5rios ambos ambos positivos @Q negativos @Q subtrai soma e @Q soma e maior mantém o mantém o magnitude é sina! sina! positivo @Q positivo negativo resu!tado é positivo
$%$% =RREJ
$%$$
sinais contr5rios @Q subtrai maior magnitude é negativo @Q resu!tado é negativo
OVERFLOW
ambos negativos @Q soma Avai@umA para bit de sina! @Q overf!o^
REPRESENTAÇÃO DE DADOS REPRESENTAÇÃO DE NKMEROS REAIS té agora, passamos por cima de a!guns outros prob!emas. s dados numéricos podem ser fracion5rios &tais como :,487'. =omo representar essa parte fracion5ria &após a v1rgu!a que a separa da parte inteira', de forma que permita processamento eficiente e arma-enamento com pouco consumo de memóriaH Kamos ana!isar esses prob!emas !ogo ( frente.
NKMEROS REAIS 3"meros reais são aque!es com parte fracion5ria &por e*emp!o, :,487'. Estamos acostumados a representar esses n"meros no formato parte inteira, v1rgu!a &ou ponto', parte fracion5ria9
Esta representação, embora c_moda para c5!cu!os no pape!, não é adequada para processamento no computador.
REPRESENTAÇÃO EM PONTO <UTUANTE =onsideremos o n"mero :,487 usado acima como e*emp!o. Este n"mero pode ser também e*presso como :,487 * $% . E também poderia ser e*presso com :487 * $% ou ainda %,:487 * $% . 3a rea!idade, qua!quer n"mero @ inteiro ou fracion5rio @ pode ser e*presso neste formato n0mero 7 base , em que variamos duas coisas9 a posição da v1rgu!a &que de!imita a parte fracion5ria' e a pot#ncia ( qua! e!evamos a base. Essa representação é denominada re'resentação em 'onto ,utuante , pois o ponto varia sua posição, modificando, em conseqL#ncia, o va!or representado. %
@7
+
e7'oente
REPRESENTAÇÃO NORMAIADA 3a representação norma!i-ada, o n"mero é preparado movendo a v1rgu!a para a direita ou para a esquerda de forma que o n"mero se2a menor que $, o mais pró*imo poss1ve! de $, obviamente mu!tip!icado por uma pot#ncia da base de forma a manter o va!or do n"mero. Em gera!, isso significa que o primeiro d1gito significativo seguir5 imediatamente ao ponto &ou v1rgu!a'. )or e*emp!o9 :,487 @@Q norma!i-ando //Q %,:487 * $% %,%%%64+8 @@Q norma!i-ando //Q %,64+8 * $% %,%%%%$%$$ @@Q norma!i-ando //Q %,$%$$ * + +
%$@7
%$+
@6
De forma genérica, podemos representar a forma norma!i-ada9 ` n"mero * base parte do n"mero representado dessa orma norma,i)ada &os a!garismos significativos', damos o nome de mantissa.e portanto podemos representar9 ` %,G * < onde M é a mantissa, B é a base e e é o e*poente. `e*poente
`e
REPRESENTAÇÃO DE NKMEROS REAIS NO 8OMPUTADOR Bma forma comum de representação de n"meros reais no computador pode ser e*pressa como segue9
)ode@se notar que a base não é e*pressa. =omo a base, para cada computador, ser5 sempre a mesma, não h5 necessidade de apresentar a base na representação &no e*emp!o, a base é +'. Di-emos que a base é im',cita. )ara cada computador, o n"mero tota! G de bits para a representação, o n"mero de bits para C3 &sina! do n"mero', para CE &sina! do e*poente', para a mantissa e para o e*poente, são pré@definidos em pro2eto. ssim, podemos conc!uir que, quanto maior o n"mero de bits para o e*poente, maior ser5 a fai*a de n"meros que o computador pode representar &maior a!cance'M e quanto maior o n"mero de bits para a mantissa, maior a precisão da representação. )orém, redu-indo@se a mantissa, perde@se precisão e h5 maior a necessidade de truncar o n"mero &truncar um n"mero é cortar a!garismos significativos que não podem ser representados'. =onsiderando@se a representação acima, na base imp!1cita +9 maior e*poente poss1ve! E9 + @ $ maior mantissa poss1ve!9 + @ $ maior n"mero rea!9 0&%.$$$...$ * + ' sendo E / + @ $ menor n"mero rea!9 @&%.$$$...$ * + ' sendo E / + @ $ menor rea! positivo9 0&%.$%%...% * + sendo E / + @ $ maior rea! negativo9 @&%.$%%...% * + sendo E / + @ $ *
E
*
E
*
@E
@E
*
*
=omo vimos anteriormente, a representação em ponto f!utuante tem !imites de a!cance e de precisão. a!cance é !imitado pe!o n"mero de bits do e*poente. precisão é determinada pe!o n"mero de bits da mantissa. corre overflow quando o va!or abso!uto do dado a ser representado e*cede a
capacidade de representação, porque o n"mero de bits do e*poente &neste caso, positivo' é insuficiente para representar o dado. Bm outro prob!ema ocorre na região de n"meros pró*imos de -ero, que tem o maior e*poente negativo poss1ve!. corre underflow quando o va!or abso!uto do dado a ser representado é tão pequeno que fica menor que o menor va!or abso!uto represent5ve!. 3esse caso, o e*poente é negativo mas não representa os n"meros muito pró*imos de -ero e ocorre uma descontinuidade na representação, com os n"meros pró*imos a -ero não sendo representados. Underflow não é o mesmo que imprecisão. Dados na fai*a de underflow não podem ser representados, ocorrendo estouro no e*poente. 3o caso de imprecisão, a norma!i-ação permite que o dado se2a representado, porém com perda de precisão.
8ARA8TERQSTI8A =aracter1stica é o e*poente, representado na forma de e7cesso de n, ou se2a, =R=JERCJI= / E[)E3JE 0 E[=ECC representação substituindo e*poente por caracter1stica acarreta que todas as caracter1sticas serão positivas, de forma que é poss1ve! e!iminar a representação do sina! do e*poente.
Ce =R=JERCJI= / E[)E3JE 0 E[=ECC, sendo G o n"mero de bits para a representação da caracter1stica, temos9 % / @ + 0 E[=ECC !ogo9 E[=ECC / 0 + G@$
G@$
ELEMPO DE REPRESENTAÇÃO EM PONTO <UTUANTE a' Representação no I
sendo C3 / sina! do dado =R=JERCJI= / o e*poente, representado na forma de e*cesso de n, ou se2a, =R=JERCJI= / E[)E3JE 0 E[=ECC 3o caso da I
%$
%$ E*emp!ificando9 e*poente / 8 , !ogo caracter1stica / 8 0 46 / :+
%$
%$
%$
%$ssim, uma caracter1stica entre % e 47 significa que o e*poente é negativo, enquanto uma caracter1stica entre 4 e $+: significa que o e*poente é positivo &caracter1stica igua! a 46 significa e*poente igua! a %'..
%$
%$E*emp!o9 Representar +, =omo a base imp!1cita é $4, vamos converter para he*adecima!9 + P $4 / $, resto ; !ogo9 + / $; )arte fracion5ria9 %. * $4 / 8,% Oogo9 +, / $;,8 * $4 3orma!i-ando9 $;,8 * $4 / %,$;8 * $4 . Em bin5rio com +6 bits, a mantissa norma!i-ada ser59 %,$;8 / %%%$.$%%$.$%%%.%%%%.%%%%.%%%%
%$
%$$4
%
%$$4
$4
%
+
$4
$4
bs.9 =omo o n"mero %,$;8 ser5 representado em +6 bits, os bits não representativos &( direita' serão preenchidos com -eros. =omo o e*poente é +, a caracter1stica ser59 + 0 46 / 44 . Em bin5rio com : bits, ser59 $%%.%%$% )ortanto, a representação ser59 $4
%$
%$
%$ b' Representação no )D) $$ s microcomputadores )D) $$ representam os dados em ponto f!utuante com base imp!1cita / +, no seguinte formato9
sendo C3 / sina! do dado =R=JERCJI= / o e*poente, representado na forma de e*cesso de n, ou se2a, =R=JERCJI= / E[)E3JE 0 E[=ECC 3o caso do )D) $$, o e*cesso é de $+8 , portanto9 =R=JERCJI= / E[)E3JE 0 $+8
%$
%$E*emp!ificando9 e*poente / @ +8 !ogo caracter1stica / @ +8 0 $+8 / $%%
%$
%$
%$ssim, uma caracter1stica entre % e $+: significa que o e*poente é negativo, enquanto uma caracter1stica entre $+; e + significa que o e*poente é positivo &caracter1stica igua! a $+8 significa e*poente igua! a %'.
%
%$E*emp!o9 Representar +, =omo a base imp!1cita é +, vamos converter para bin5rio9 + / $$%%$
%$
%$+
)arte fracion5ria9 %. * + / $,% Oogo9 +, / $$%%$,$ * + 3orma!i-ando9 $$%%$,$ * + / %,$$%%$$ * + . bs.9 =omo a base imp!1cita no )D) $$ é +, o n"mero norma!i-ado começar5 CEG)RE por %,$. ssim, como o primeiro d1gito da mantissa ser5 sem're $, o )D) $$ economi-a um bit na mantissa não arma)enando o 'rimeiro bit da mantissa , 25 que est5 imp!1cito que todos os n"meros terão mantissa iniciando com $. bit economi-ado dessa forma permite que, embora a mantissa no )D) se2a representada com +7 bits e no I
%
%$+
+
%
+
+
bs.9 =omo o n"mero %,$$%%$$ ser5 representado em +7 bits, os bits não representativos &( direita' serão preenchidos com -eros. =omo o e*poente é , a caracter1stica ser59 0 $+8 / $77 . Em bin5rio com 8 bits, ser59 $%%%.%$%$ )ortanto, a representação ser59 +
%$
%$
%$E7erccio 9 Nua! das representações de ponto f!utuante nos dois computadores e*emp!ificados acima tem o maior a!canceH Resp.9 a!cance de uma representação depende do va!or da base imp!1cita, e!evado ao maior va!or que a caracter1stica pode assumir. maior a!cance ser5 o que tiver o maior va!or de < ou se2a, base e!evada ao maior va!or poss1ve! da caracter1stica. I
47
$+:
6 47
++