Anda di halaman 1dari 14

10/12/2009

Universidade de Trs-os-Montes e Alto Douro

Programao 2009/2010
Engenharia Electrotcnica e de Computadores Engenharia Mecnica Engenharia de Energias

Pedro Couto + Pedro Melo Pinto


( pmelo@utad.pt )

Programao 2009/2010

representao de informao em computadores

10/12/2009

Computador
Definio geral
Mquina ou conjunto de dispositivos mecnicos, electrnicos e electromecnicos, capazes de processar informao.

Dados de entrada

Dados de sada

Computador
Input (Input data) (Output data) Output

Programao

utad 2009/2010

Computador
O processamento de toda a informao num sistema informtico feito na base digital ou binria; esta base de representao numrica constituda por dois smbolos apenas: 0 (zero) e 1 (um). Em termos elctricos, geralmente o 0 representado por um nvel de tenso baixo e o 1 por um nvel de tenso alto. Todos os dispositivos ou circuitos digitais se regem por esta regra, desde o processador memria, discos, etc.. A unidade mnima de representao designada por BIT (BInary digiT) e pode representar 2 estados distintos (sim/no; ligado desligado; verdadeiro/falso). Neste contexto, um bit possui o valor 0 ou 1.

Programao

utad 2009/2010

10/12/2009

Computador
1 bit 1 dgito binrio (0 ou 1) 1 byte 8 bits 1 KB (kilobyte) 1024 bytes 1 MB (megabyte) 1024 KB 1 GB (gigabyte) 1024 MB 1 TB (terabyte) 1024 GB

bit o termo (binary digit) foi sugerido em 1949 por John Tukey, um pioneiro dos computadores. Segundo Tukey era melhor que as Alternativas bigit ou binit. byte o termo foi criado por Werner Buchholz em 1956 durante o desenho do computador IBM Strech. Inicialmente era um grupo de 1 a 6 bits, mas logo evoluiu para um grupo de 8 bits. A palavra uma mutao de bite (binary term), para no confundir com bit.

Programao

utad 2009/2010

Sistemas de Numerao
O computador - representao binria (base 2). O homem sistema de numerao decimal (base 10).

necessrio traduzir o conjunto de smbolos que utilizamos em 0 ou 1

O que obriga a uma converso de dados Decimal/Binrio (entrada) e Binrio/Decimal (sada).

Programao

utad 2009/2010

10/12/2009

Sistemas de Numerao

Numa base b de um sistema de numerao, define-se o conjunto de b smbolos para representar cada valor. base 10 composta base 2 composta base 5 composta base 16 composta base b composta 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 0, 1 0, 1, 2, 3, 4 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 0, 1, ..........., (b -1)

Programao

utad 2009/2010

Sistemas de Numerao
A representao de um nmero na prpria base sempre 10, uma vez que uma base b s composta por smbolos de 0 a b-1. 2 na base 2 5 na base 5 10 na base 10 16 na base 16 = 10 = 10 = 10 = 10

Utilizando um conjunto de n dgitos numa dada base b, podemos ter bn valores diferentes que vo desde 0 a bn-1. Base 10 com 3 dgitos Base 2 com 8 dgitos Base 3 com 4 dgitos 0 999 (1000 valores) 0 255 (256 valores) 0 80 (81 valores)

Programao

utad 2009/2010

10/12/2009

Sistemas de Numerao
Bases 2 5 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 8 0 1 2 3 4 10 11 12 13 14 20 21 22 23 24 30 31 10 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Programao

utad 2009/2010

Sistemas de Numerao
Na representao de um nmero numa dada base, os dgitos possuem valor posicional que define o seu peso.

N = dn-1 dn-2 d1 d0 , d-1 d-2 d-p


parte inteira parte decimal Uma sucesso de dgitos designa um nmero igual soma dos valores posicionados dos respectivos dgitos.

Nb = dn-1 * bn-1 + dn-2 * bn-2 + + d1 * b1 + d0 * b0 + d-1 * b-1 + d-2 * b-2 + + d-p+1 * b-p+1 + d-p * b-p
EX: N10 = 1998,35 = 1*103 + 9*102 + 9*101 + 8*100 + 3*10-1 + 5*10-2

Programao

10

utad 2009/2010

10/12/2009

Sistemas de Numerao
Converso de uma base b para uma base b. b b Nb = dn-1 dn-2 d1 d0 , d-1 d-2 d-p Nb' = dn-1 * bn-1 + dn-2 * bn-2 + + d1 * b1 + d0 * b0 + d-1 * b-1 + d-2 * b-2 + + d-p+1 * b-p+1 + d-p * b-p N2 = 110,11 N10 N10 = 1*22 + 1*21 + 0*20 + 1*2-1 + 1*2-2 = 6,75 N4 = 132 N5 N5 = 1*42 + 3*41 + 2*40 = 110

Programao

11

utad 2009/2010

Sistemas de Numerao
Converso de uma base b para a base 10. b 10 Nb = dn-1 dn-2 d1 d0 , d-1 d-2 d-p N10 = dn-1 * bn-1 + dn-2 * bn-2 + + d1 * b1 + d0 * b0 + d-1 * b-1 + d-2 * b-2 + + d-p+1 * b-p+1 + d-p * b-p N2 = 1010,011 N10 N10 = 1*23 + 0*22 + 1*21 + 0*20 + 0*2-1 + 1*2-2 + 1*2-3 = 10,375 N16 = ABC N10 2 + 11*161 + 12*160 = 2784 N10 = 10*16
Programao

12

utad 2009/2010

10/12/2009

Sistemas de Numerao
Converso da base 10 para uma base b. 10 b
Parte inteira: Divide-se o nmero e os sucessivos quocientes pela base b, guardando o resto de cada diviso. A representao do nmero na nova base dada pelo ltimo quociente e pela sequncia invertida dos restos. Exemplo: N10 = 10,375 N2 = 1010,??? N2 10 |2 0 5 |2 1 2 |2 0 1 |2 1 0

Programao

13

utad 2009/2010

Sistemas de Numerao
Converso da base 10 para uma base b. 10 b
Parte fraccionria: Multiplica-se sucessivamente a parte fraccionria, e as partes fraccionrias resultantes, pela nova base at que a parte fraccionria seja nula ou se tenha obtido uma preciso conveniente. Os sucessivos dgitos inteiros assim obtidos formam a representao da parte fraccionria na nova base. Exemplo: N10 = 10,375 N2 = 1010,011 N2 0,375*2 = 0,75 0,75*2 0,5*2 = 1,5 = 1,0

Programao

14

utad 2009/2010

10/12/2009

Sistemas de Numerao
Capacidade de numerao. Aproximao.
A converso da parte fraccionria muitas vezes infinita. Critrio: Admitindo para um nmero fraccionrio na base b um erro igual ao peso da posio menos significativa do nmero nessa base, bp, deve verificar-se para a posio menos significativa da representao da nova base, um erro b'p bp ou seja, p' p ln(b)/ln(b') para que se mantenha a aproximao. Exemplo: N10 = 0,468 N2 = 0,0111011111 (com a mesma aproximao) p = 10

p 3*(ln 10)/(ln 2) = 9,97

Programao

15

utad 2009/2010

Sistemas de Numerao
Concluso

Podemos utilizar a base 10 como intermediria para converter um nmero de uma base b para uma base b e assim utilizar unicamente a aritmtica da base 10.

10

Programao

16

utad 2009/2010

10/12/2009

Sistemas de Numerao
Converso directa entre as bases 2, 8 e 16
Converso de binrio para octal/hexadecimal. Decompe-se o nmero a partir da virgula, nos dois sentidos, em grupos de trs/quatro dgitos, completando-se com zeros esquerda e direita quando necessrio. Substitui-se cada um dos grupos assim formados pelo respectivo smbolo octal/hexadecimal. Converso de octal/hexadecimal para binrio. Substitui-se cada algarismo octal/hexadecimal pela respectiva representao binria em trs/quatro dgitos. N2 N2 N8 N16 note-se que 23 = 8 note-se que 24 = 16

Programao

17

utad 2009/2010

Sistemas de Numerao
Converso de binrio para octal/hexadecimal
Exemplo:

N2 = 11010010,1111

N8 = 322,74

011 010 010 , 111 100 3 2 2 , 7 4 N2 = 11010010,1111 N16 = D2,F

1101 0010 , 1111 D 2 , F

Programao

18

utad 2009/2010

10/12/2009

Sistemas de Numerao
Converso de octal/hexadecimal para binrio
Exemplo:

N8 = 322,74

N2 = 11010010,1111

3 2 2 , 7 4 011 010 010 , 111 100 N16 = D2,F N2 = 11010010,1111

D 2 , F 1101 0010 , 1111

Programao

19

utad 2009/2010

Sistemas de Numerao
Concluso: Nmeros inteiros
100110(2) = 1*25 + 0*24 + 0*23 + 1*22 + 1*21 + 0*20 = 32 + 4 + 2 = 38(10) Qual o maior nmero inteiro que, neste caso, seria possvel representar? E como representar nmeros inteiros negativos?

Um determinado bit representa o sinal: 0 (+) ou 1 (-) 10100110(2) = -38

Programao

20

utad 2009/2010

10

10/12/2009

Sistemas de Numerao
Concluso: Nmeros inteiros
A representao dos nmeros inteiros exacta As operaes aritmticas no induzem em erro, excepto no caso de transbordo (overflow) A grandeza da palavra (n de bits) determina o intervalo dos nmeros inteiros representveis num dado computador.
Exemplo: [-32768 , 32767] para um computador de 16 bits

Programao

21

utad 2009/2010

Sistemas de Numerao
Concluso: Nmeros reais
101,11 (2) = 1*22 + 0*21 + 1*20 + 1*2-1 + 1*2-2 = 4 + 1 + 0,5 + 0,25 = 5,75(10) Representao em vrgula flutuante -234000000 = -234 x 106 = -2,34 x 108 +0,00025 = +25 x 10-5 = 0,25 x 10-3 SM x BE 0,1 < M < 1

E como representar em binrio? sinal


(1 bit)

expoente
(8 bits) (23 bits)

mantissa

Programao

22

utad 2009/2010

11

10/12/2009

Sistemas de Numerao
Concluso: Nmeros reais
A representao dos nmeros reais no exacta. O n de bits reservados para a mantissa determina o grau de preciso. A grandeza dos nmeros reais limitada. O n de bits do expoente
determina a grandeza mxima.

A variao dos nmeros reais representados no contnua. A densidade de valores representados decresce exponencialmente com a grandeza dos nmeros. Representao discreta e limitada do conjunto dos nmeros reais.

Programao

23

utad 2009/2010

Dados alfanumricos
BCD (6 bits) - 64 ASCII (7 bits)) - 128 EBCDIC (8 bits) - 256 ASCII (8 bits) - 256
American Standard Code for Information Interchange

Programao

24

utad 2009/2010

12

10/12/2009

Operadores lgicos
E (conjuno) OU (disjuno) ! (negao)
Precedncia: ! E OU
Negao (Not) Op. Res. V F F V

E lgico
Op1 (And) Res Op2 . V V V

Ou lgico
Op1 (Or) Res Op2 . V V V

V F F

F V F

F F F

V F F

F V F

V V F

Programao

25

utad 2009/2010

Operadores lgicos
Exemplo: x = 10; y=20; z=10

E lgico
Op1 (And) Res Op2 . V V V

Ou lgico
Op1 (Or) Res Op2 . V V V

Expresso (x <= y) E (x == z) (x == y) OU (z>y) !(x z)

Resultado Booleano Verdadeiro 1 Lgico Falso 0 Lgico Verdadeiro 1 Lgico

V F F

F V F

F F F

V F F

F V F

V V F

Negao (Not) Op. Res. V F F V

Programao

26

utad 2009/2010

13

10/12/2009

Operadores relacionais
Comparam valores devolvendo um valor booleano (Verdade ou Falso)
Exemplos: x = 10; y=20; z=10

<= < >= > == !=

Menor ou igual Menor Maior ou igual Maior Igual Diferente

Condio x <= y x == y x != z

Resultado Booleano Verdadeiro 1 Lgico Falso 0 Lgico Falso 0 Lgico

Programao

27

utad 2009/2010

14

Anda mungkin juga menyukai