Sistemas de numerao
Sistemas de numerao
Representao posicional
Base decimal (10)
10 dgitos disponveis [0,1,2, ... ,9] Posio indica potncia positiva de 10 5432 = 5x103 + 4x102 + 3x101 + 2x100
Sistemas de numerao
Representao de inteiros
Base binria (2) 2 bits disponveis [0,1]
Posio indica potncia positiva de 2 1011 na base 2 = 1x23 + 0x22 + 1x21 + 1x20 = 8+0+2+1 = 11 na base decimal Ou, melhor 1x23 + 0x22 + 1x21 + 1x20 = 1 + 2(1+2(0+2(1))) = 11
Sistemas de numerao
Representao de nmeros fracionrios
Base decimal (10)
Posio da parte inteira indica potncia positiva de 10 Potncia negativa de 10 para parte fracionria 54,32 = 5x101 + 4x100 + 3x10-1 + 2x10-2
Sistemas de numerao
Representao de nmeros fracionrios
Base binria (2)
Posio da parte inteira indica potncia positiva de 2 Potncia negativa de 2 para parte fracionria 10,11 na base 2 = 1x21 + 0x20 + 1x2-1 + 1x2-2 = 2+0+1/2+1/4 = 2,75 na base decimal
e binrio (2)
Uso nos computadores
Outros sistemas
Octal (8), {0,1,2, ... , 7} Hexadecimal (16), {0,1,2, ... , 9, A,B,C,D,E,F} Dodecimal (relgio, calendrio)
Converso de base
Converso de base
Um sistema ternrio tem 3 "trits", cada trit assumindo o valor 0,1 ou 2. Quantos "trits" so necessrios para representar um nmero de seis bits?
6 2
y 3
< 64 <
4 3 =81)
Converso de Inteiro
Binrio para decimal
J visto
Converso de inteiro
Exemplo: Converter 25 decimal para binrio 25 / 2 = 12 (quociente) e resto 1=bms 12 / 2 = 6 (quociente) e resto 0 6 / 2 = 3 (quociente) e resto 0 3 / 2 = 1 (ltimo quociente=BMS) e resto 1 Binrio = BMS ... bms = 1
1001
No realizada diretamente no h relao de potncias entre as bases oito e dezesseis. Semelhante converso entre duas bases quaisquer base intermediria (base binria) Converso em duas etapas:
1 - nmero: base octal (hexadecimal) binria. 2 - resultado intermedirio: binria hexadecimal (octal).
Joseana M. Fechine
Converso de frao
Operao inversa: multiplicar parte fracionria por 2 at que parte fracionria do resultado seja 0 (zero) Bits da parte fracionria derivados das partes inteiras das multiplicaes Bit imediatamente direita da vrgula = Parte inteira da primeira multiplicao
Converso de frao
Exemplo: converter 0,625 decimal para binrio 0,625 x 2 = 1,25 logo a primeira casa fracionria
1 ; nova frao (resto) 0,25 (1,25-1=0,25) 0,25 x 2 = 0,5 segunda casa 0 ; resto 0,5 0,5 x 2 = 1,0 terceira casa 1 ; resto zero.
Exerccios
Mostre que:
5,8 = 101,11001100... , uma dzima. 11,6 = 1011,10011001100...
a vrgula foi deslocada uma casa para a direita, pois 11,6 = 2 x 5,8 .
OBS:
a base binria no precisa ser explicitada (o computador usa sempre esta) O 1 antes da vrgula, na representao normalizada se esta for adotada, tambm pode ficar implcito, economizando um bit (bit escondido).
OBS:
a base no precisa ser explicitada
Armazenamento de floats
Na organizao/arquitetura do computador, definir:
Nmero de bits da mantissa (preciso, p) Nmero de bits do expoente Um bit de sinal (0 para + e 1 para -) para o nmero (geralmente o primeiro, da esquerda)
Armazenamento de floats
Ilustrao Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Sinal Expoente (+/-) Significando
Armazenamento de floats
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Sinal Expoente (+/-) Significando
0=+ 1=000 001 010 011 100 101 110 111 (especial) (2-2) (2-1) (2 0) (2 1) (2 2) (2 3) (especial) 1,0000 1,0001 .... .... 1,1111 1 = bit escondido
Armazenamento de floats
Ainda os expoentes na ilustrao...
Maior nmero positivo (lembre do bit escondido)
0 110 1111 = + 23 x 1,1111 = 23 x (2- 2-4 ) = 1111,1 = 15,5 decimal
Armazenamento de floats
Combinaes especiais dos expoentes na ilustrao...
000 representao NO normalizada
Significando passa a ser 0,_ _ _ ... Expoente (000) = -2 Menor nmero positivo passa a ser 0 000 0001 = 2-2 x 0,0001 = 2-2 x 2-4 = 2-6 = 0,015625
Armazenamento de floats
Ainda as combinaes especiais...
Normalizao no permite representar zero! 000 representao NO normalizada
00000000 = + 0 decimal 10000000 = - 0 decimal So iguais em comparaes
Armazenamento de floats
Ainda as combinaes especiais...
111 representaes de infinito
01110000 = + infinito 11110000 = - infinito 11111000 = indeterminao Outras combinaes 11111_ _ _ = Not A Number (NANs)
Expoente(+/-) Significando 8
[bits30-23] [bits62-52]
1 1
[bit31] [bit63]
23 52
[bits22-00] [bits51-00]
(64 bits)
11
0000 0000
sinal=1 e significando = 0...0 : -zero sinal=0 e significando = 0...0 : +zero
(2-2) (2-1)
(128) 1000 0000 (21) (129) 1000 0001 (22) 1000 0010 ............. (254) 1111 1110 (2127) maior expoente (255) 1111 1111 (especial)
(2-2) (2-1)
(1024 10000000000 (21) 10000000001 (22) 10000000010 ............. (2046) 11111111110 (21023) maior expoente (2047) 11111111111 (especial)
Normalizado
2-126 a (2-2-23) x 2127 2-1022 a (2-2-52)x21023
Decimal
~10-44.85 a ~1038.53 ~10-323.3 a ~10308.3
Dupla
2-1074 a (1-2-52)x2-1022
Exerccio Nr. 1
Seja a seguinte representao de nmeros positivos em ponto flutuante:
Bit 7. Sinal do expoente Bit 6. Bit 5 Bit 4 EXPOENTE Bit 3 Bit 2 Bit 1 Bit 0 MANTISSA
Sendo que o expoente representado diretamente pelo respectivo nmero binrio e os nmeros so normalizados pela primeira casa decimal, ou seja 4.5 representado como 0.45 101 ou, em binrio, 100.1 representado por 0.1001 211 o que daria 00111001 na representao acima. 1) Qual o maior e o menor nmero positivo que podem ser representados neste formato? Mostre o resultado em decimal, binrio e na representao interna. 2) Com fica a situao do nmero 0? Sugira uma soluo. 3) Represente, neste formato os nmeros (decimais) 13, 0.12 e 3.501. Em quais nmeros ocorreram erros de representao? 4) Seja a representao 00101000. Ela representa qual nmero? Se eu subtrair 0.12 deste nmero, como seria representado o nmero resultante?
Exerccio Nr. 2
1) Repita os itens 3 e 4 do exerccio anterior, agora usando a representao em ponto flutuante de 8 bits vista anteriormente neste documento. Determine, para ambas as representaes, a densidade dos nmeros maiores que 1, ou seja, a distncia entre dois nmeros subseqentes. SUGESTO: tome a representao de um nmero qualquer some 0.0001 mantissa e calcule a diferena entre estes dois nmeros.
2)