Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações...

Preview:

Citation preview

Capítulo I – Conceitos Capítulo I – Conceitos PrimáriosPrimários

1.1 – Estrutura de um computador1.1 – Estrutura de um computador

1.2 – Informações manipuladas por um 1.2 – Informações manipuladas por um computadorcomputador

1.3 – Evolução das linguagens de 1.3 – Evolução das linguagens de programação programação

1.2 – Informações 1.2 – Informações Manipuladas por um Manipuladas por um

ComputadorComputador1.2.1 – Natureza das informações1.2.1 – Natureza das informações

Um computador é capaz de manipular Um computador é capaz de manipular NúmerosNúmeros TextosTextos SonsSons ImagensImagens Composições desses ingredientesComposições desses ingredientes

Molécula:Molécula:

MenorMenor porção de uma porção de uma substância purasubstância pura

Porção qualquerPorção qualquer de uma substância pura: de uma substância pura: conjunto de moléculasconjunto de moléculas

Bit:Bit:

MenorMenor unidade de unidade de informaçãoinformação em um em um computadorcomputador

Informação qualquerInformação qualquer na memória de um na memória de um computador: computador: conjunto de bitsconjunto de bits

Bit (biBit (bi-nary digi--nary digi-t): t): unidade de unidade de armazenamento que pode assumir um de armazenamento que pode assumir um de apenas dois valores possíveis: o apenas dois valores possíveis: o 0 (zero)0 (zero) e o e o 1 1 (um)(um)

Uma Uma informaçãoinformação qualquer na memória de um qualquer na memória de um computador é uma composição de computador é uma composição de 0’s0’s e e 1’s1’s

NúmerosNúmeros em um computador são guardados em um computador são guardados no no sistema binário de numeraçãosistema binário de numeração, em vez do , em vez do sistema decimalsistema decimal, usado comumente pelos , usado comumente pelos seres humanosseres humanos

Dispositivos físicos para armazenar um Dispositivos físicos para armazenar um bit: bit: devem ser capazes de estar em apenas um devem ser capazes de estar em apenas um de dois estados possíveis:de dois estados possíveis:

O primeiro representando o valor O primeiro representando o valor 0 (zero)0 (zero) O segundo representando o valor O segundo representando o valor 1 (um)1 (um)

Exemplo:Exemplo: recipiente capaz de conter apenas recipiente capaz de conter apenas uma uma gotagota de líquido de líquido

Se ele estiver Se ele estiver vaziovazio: : estado 0estado 0 Se, com um conta-gotas, for-lhe Se, com um conta-gotas, for-lhe introduzida introduzida

uma gotauma gota, ele passa para o , ele passa para o estado 1estado 1

Há Há três diferentes meios físicos três diferentes meios físicos para para armazenar um armazenar um bitbit em um computador: em um computador:

Meio eletrônicoMeio eletrônico – usado principalmente – usado principalmente dentro do dentro do processadorprocessador e da e da memória memória principalprincipal, mas também em , mas também em pen-drivespen-drives

Meio magnéticoMeio magnético – usado em – usado em HD’sHD’s e e fitas fitas magnéticasmagnéticas

Meio ópticoMeio óptico – usado em – usado em CD’sCD’s e e DVD’sDVD’s

Meio eletrônico: Meio eletrônico: dispositivo de nome dispositivo de nome flip-flopflip-flop

v

Três valores de tensão:

Zero: desligado

Baixo: estado 0

Alto: estado 1

Na realidade, um flip-flop tem outros terminais não abordados em CES-10

Meio magnético: Meio magnético: trilhas de trilhas de micro-magnetosmicro-magnetos

Cada magneto é magnetizado em um de Cada magneto é magnetizado em um de doisdois possíveis possíveis sentidossentidos

Observar dois Observar dois magnetos adjacentesmagnetos adjacentes: se : se iguais, o bit é iguais, o bit é 00, se diferentes, o bit é , se diferentes, o bit é 11

Trilha magnética de bits

Meio magnético: Meio magnético: trilhas de trilhas de micro-magnetosmicro-magnetos

Na figura, os bits armazenados são Na figura, os bits armazenados são 110100110100

A leitura da trilha é feita por uma cabeça A leitura da trilha é feita por uma cabeça detectora de detectora de alteração do sentidoalteração do sentido de de magnetização dos magnetosmagnetização dos magnetos

Trilha magnética de bits

Meio óptico: Meio óptico: trilhas numa trilhas numa superfície superfície espelhadaespelhada

Cada trilha contém sequências de minúsculos Cada trilha contém sequências de minúsculos picospicos e e valesvales

BitBit 1:1: alteração de nível; alteração de nível; Bit 0: Bit 0: manutenção manutenção de nívelde nível

Trilha de um dispositivo óptico digital

Meio óptico: Meio óptico: trilhas numa trilhas numa superfície superfície espelhadaespelhada

A leitura da trilha é feita pela emissão de A leitura da trilha é feita pela emissão de raio raio laserlaser sobre ela sobre ela

O O ânguloângulo de reflexão do raio é de reflexão do raio é diferente para diferente para picos e valespicos e vales; isso é captado pelo receptor do ; isso é captado pelo receptor do reflexoreflexo

Trilha de um dispositivo óptico digital

Palavra:Palavra:

Na RAM, na cache e nos registradores da CPU, Na RAM, na cache e nos registradores da CPU, é uma é uma concatenação de flip-flopsconcatenação de flip-flops

Num instante qualquer da execução, ela pode Num instante qualquer da execução, ela pode estar guardando um conjunto qualquer de estar guardando um conjunto qualquer de 0’s0’s e e 1’s1’s

0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1Palavra de 16 bits

Byte: Byte: conjunto de 8 bitsconjunto de 8 bits

Importância: Importância: cada cada caracterecaractere que compõe um que compõe um texto é armazenado em texto é armazenado em um byteum byte

Caracteres: Caracteres: letras, dígitos decimais, letras, dígitos decimais, operadores aritméticos, pontuação, etc.operadores aritméticos, pontuação, etc.

Exemplo:Exemplo: o byte acima representa a letra o byte acima representa a letra ‘s’ ‘s’ (minúscula)(minúscula)

0 1 1 1 0 0 1 1

Byte: Byte: conjunto de 8 bitsconjunto de 8 bits

O O tamanho da palavratamanho da palavra de um computador de um computador pode ser expresso em número de pode ser expresso em número de bitsbits ou de ou de bytesbytes

A A palavrapalavra de um módulo de memória pode ser de um módulo de memória pode ser um conjunto de um conjunto de 1, 2, 4, 8 ou 16 bytes 1, 2, 4, 8 ou 16 bytes adjacentesadjacentes desse módulo desse módulo

0 1 1 1 0 0 1 1

Os computadores atuais podem Os computadores atuais podem variar o variar o tamanhotamanho de suas palavras mediante de suas palavras mediante programaçãoprogramação

Ora ele pode enxergá-las como tendo apenas Ora ele pode enxergá-las como tendo apenas 1 1 bytebyte, ora como tendo, ora como tendo 2 2,, 4 4,, 8 8 ouou 16 bytes 16 bytes

Então o sistema de Então o sistema de endereçamentoendereçamento de seus de seus módulos de memória módulos de memória pode variar pode variar mediante mediante programaçãoprogramação

Exemplo:Exemplo: RAM de 2 megabytes RAM de 2 megabytes

Vista como tendo 2 mega palavras de 1 byte:

0000 1000

0010 1011

0111 0100

1011 0101

0011 1111

0000 0010

0110 1000

0100 1110

1111 1111

1000 1111

0

1

2

3

4

5

6

7

2.097.150

2.097.151

ConteúdosEndereços

Vista como tendo 1 mega palavras de 2 bytes:

0000 10000010 1011

0111 01001011 0101

0011 11110000 0010

0110 10000100 1110

1111 11111000 1111

0

1

2

3

1.048.575

ConteúdosEndereços

Tabela dos prefixos kilo, mega, giga, etc.:Tabela dos prefixos kilo, mega, giga, etc.:

Observação:Observação:

Sabe-se que toda informação na memória é um Sabe-se que toda informação na memória é um conjunto de conjunto de 0’s 0’s e e 1’s1’s

A priori, não se sabe se o A priori, não se sabe se o conteúdoconteúdo de um de um trecho de memória é um conjunto de trecho de memória é um conjunto de númerosnúmeros, , ou um ou um textotexto, ou uma , ou uma imagemimagem, ou um , ou um somsom digitalizadodigitalizado

O O programaprograma que vai trabalhar com esse trecho que vai trabalhar com esse trecho deve estar deve estar preparadopreparado para enxergá-lo da para enxergá-lo da maneira corretamaneira correta

Vê-se que muita coisa em Vê-se que muita coisa em computaçãocomputação é uma é uma questão de questão de programaçãoprogramação

1.2.2 – Sistemas de numeração e 1.2.2 – Sistemas de numeração e mudança de basemudança de base

Desde a antiguidade, os seres humanos Desde a antiguidade, os seres humanos utilizam o utilizam o sistema decimalsistema decimal de numeração de numeração (base 10)(base 10)

AlfabetoAlfabeto do sistema decimal: do sistema decimal:

1010 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Valores numéricos Valores numéricos acima de 9acima de 9, utilizam , utilizam mais mais de um dígito decimalde um dígito decimal (Exemplos: 15, 26, 367, (Exemplos: 15, 26, 367, 289170)289170)

Num computador, todas as informações são Num computador, todas as informações são sequências de sequências de 0’s0’s e e 1’s1’s

Nos computadores então, nada mais natural do Nos computadores então, nada mais natural do que manipular valores numéricos no que manipular valores numéricos no sistema sistema bináriobinário de numeração de numeração (base 2)(base 2)

AlfabetoAlfabeto do sistema binário: do sistema binário:

22 = {0, 1} = {0, 1}

Valores numéricos Valores numéricos acima de 1acima de 1, utilizam , utilizam mais mais de um dígito bináriode um dígito binário (Exemplos: 10, 101, (Exemplos: 10, 101, 1111, 100010)1111, 100010)

Qualquer número natural pode ser Qualquer número natural pode ser basebase de um de um sistema de numeração:sistema de numeração:

EquivalênciaEquivalência entre os sistemas: entre os sistemas:

(29)(29)1010 = (11101) = (11101)22 =(1002) =(1002)33 =(131) =(131)44 =(35) =(35)88 =(1D)=(1D)1616

Em Computação usa-se muito os sistemas Em Computação usa-se muito os sistemas bináriobinário, , decimaldecimal, , octaloctal e e hexadecimalhexadecimal

Conversão de base:Conversão de base:

Nesta disciplina, para se converter um número Nesta disciplina, para se converter um número de uma base de uma base bb11 para outra para outra bb22::

1.1. Converte-se de Converte-se de bb11 para a para a base 10base 10

2.2. Converte-se da Converte-se da base 10base 10 para para bb22

Assim evita-se fazer cálculos fora da base 10

Conversão de base para números inteiros:Conversão de base para números inteiros:

Seja o seguinte número inteiro Seja o seguinte número inteiro NN escrito numa escrito numa base bbase b qualquer: qualquer:

(N)(N)bb = (A = (Ann A An-1n-1 A An-2n-2 ...... A ...... A22 A A11 A A00))bb

AAnn,, A An-1n-1,, A An-2n-2,, ............ A A22,, A A11 ee A A00 são dígitos do são dígitos do alfabeto do sistema de numeração de alfabeto do sistema de numeração de base bbase b..

A conversão da base A conversão da base bb para a base para a base 1010 utiliza o utiliza o seguinte polinômio:seguinte polinômio:

(N)(N)1010 = A = Ann b bnn + A + An-1n-1 b bn-1n-1 + A + An-2n-2 b bn-2n-2 + ...... + ...... + A+ A22 b b22 + A + A11 bb11 + A + A00 b b00

Exemplos:Exemplos:

1.1.(11100101)(11100101)22 = =

== 1 * 21 * 277 + 1 * 2 + 1 * 266 + 1 * 2 + 1 * 255 + 0 * 2 + 0 * 244 + 0 * 2 + 0 * 233 + 1 * + 1 * 2222 + 0 * 2 + 0 * 211 + 1* 2 + 1* 200

= 2= 277 + 2 + 266 + 2 + 255 + 2 + 222 + 2 + 200

= (229)= (229)1010

2.2.(271)(271)88

= 2 * 8= 2 * 822 + 7 * 8 + 7 * 811 + 1* 8 + 1* 800

= (185)= (185)1010

3.3.(2AB3)(2AB3)1616

= 2 * 16= 2 * 1633 + 10 * 16 + 10 * 1622 + 11 * 16 + 11 * 1611 + 3* 16 + 3* 1600

= (10931)= (10931)1010

Na conversão da base Na conversão da base 1010 para a base para a base bb, divide-, divide-se sucessivamente o número na base se sucessivamente o número na base 1010 por por bb, , colhendo-se os colhendo-se os restorestos e s e invertendoinvertendo-se a -se a ordem dos mesmosordem dos mesmos

Exemplos:Exemplos:

(25)10 para a base 2

(93)10 para a base 8

(2653)10 para a base 16

(25)10 = (11001)2

(93)10 = (135)8

(2653)10 = (A5D)16

Conversão de base para números reais:Conversão de base para números reais:

Converte-se Converte-se separadamenteseparadamente a parte a parte inteirainteira da parte da parte fracionáriafracionária

A conversão da A conversão da parte inteira parte inteira acaba de ser acaba de ser vistavista

Será vista agora a conversão da Será vista agora a conversão da parte parte fracionáriafracionária

Conversão de base para números reais:Conversão de base para números reais:

Seja o seguinte número fracionário Seja o seguinte número fracionário NN escrito escrito numa numa base bbase b qualquer: qualquer:

(N)(N)bb = (0.A = (0.A-1-1 A A-2-2 A A-3-3 ...... A ...... A-n+2-n+2 A A-n+1-n+1 A A-n-n))bb

AA-1-1,, A A-2-2,, A A-3-3,, ............ A A-n+2-n+2,, A A-n+1-n+1 ee A A-n-n são dígitos do são dígitos do alfabeto do sistema de numeração de alfabeto do sistema de numeração de base bbase b..

Para números fracionários, a conversão da Para números fracionários, a conversão da base base bb para a base para a base 1010 utiliza o seguinte utiliza o seguinte polinômio:polinômio:

(N)(N)1010 = A = A-1-1bb-1-1 + A + A-2-2bb-2-2 + A + A-3-3bb-3-3 + …. + …. + A+ A-n+2-n+2bb-n+2-n+2 + A + A-n+1-n+1bb--

n+1n+1 + A + A-n-nbb-n-n

Exemplos:Exemplos:

1.1.(0.1011)(0.1011)22

= 1 * 2= 1 * 2-1-1 + 1 * 2 + 1 * 2-3-3 + 1 * 2 + 1 * 2-4-4

= (0.6875)= (0.6875)1010

2.2.(0.307)(0.307)88

= 3 * 8= 3 * 8-1-1 + 7 * 8 + 7 * 8-3-3

= (0.388671875)= (0.388671875)1010

3.3.(0.2B)(0.2B)1616

= 2 * 16= 2 * 16-1-1 + 11 * 16 + 11 * 16-2-2

= (0.16796875)= (0.16796875)1010

Exemplo: converter (0.7265625)10 para a base 8

8 * 0.7265625 = 5 + 0.8125

8 * 0.8125 = 6 + 0.5

8 * 0.5 = 4 + 0.0

(0.7265625)10 = (0.564)8

Conversão de um número Conversão de um número fracionário da base 10 fracionário da base 10 para a base b:para a base b:

1.1.Multiplicar o número na base Multiplicar o número na base 10 por b, separando a parte 10 por b, separando a parte inteira do resultadointeira do resultado

2.2.Aplicar o passo 1 à parte Aplicar o passo 1 à parte fracionária restante, fracionária restante, repetidamente, até obter zero repetidamente, até obter zero para a nova parte fracionária para a nova parte fracionária

3.3.Caso nunca se chegue ao Caso nunca se chegue ao zero, pode ser uma dízima zero, pode ser uma dízima periódicaperiódica

4.4.As partes inteiras obtidas são As partes inteiras obtidas são os dígitos da conversãoos dígitos da conversão

Exemplo: converter (0.169189453125)Exemplo: converter (0.169189453125)1010 para a base 16para a base 16

16 * 0.16918945312516 * 0.169189453125 = = 22 + 0.70703125+ 0.70703125

16 * 0.7070312516 * 0.70703125 = = 1111 + 0.3125+ 0.3125

16 * 0.312516 * 0.3125 = = 55 + 0.0+ 0.0

(0.169189453125)(0.169189453125)1010 = (0.2B5) = (0.2B5)1616

Exemplo: converter (0.3)Exemplo: converter (0.3)1010 para a base 2 para a base 2

2 * 0.32 * 0.3 = = 00 + 0.6 + 0.6

2 * 0.62 * 0.6 = = 11 + 0.2 + 0.2

2 * 0.22 * 0.2 = = 00 + 0.4 + 0.4

2 * 0.42 * 0.4 = = 00 + 0.8 + 0.8

2 * 0.82 * 0.8 = = 11 + 0.6 + 0.6

2 * 0.62 * 0.6 = = 11 + 0.2 + 0.2

2 * 0.22 * 0.2 = = 00 + 0.4 + 0.4

2 * 0.42 * 0.4 = = 00 + 0.8 + 0.8

2 * 0.82 * 0.8 = = 11 + 0.6 + 0.6

2 * 0.62 * 0.6 = = 11 + 0.2 + 0.2

  

(0.3)(0.3)1010 = (0,0 1001 1001 1… ) = (0,0 1001 1001 1… )22

Dízima periódica

Um mesmo número pode ser expresso por dízimas periódicas em algumas bases e em outras não

A racionalidade de um número independe da base

Conversão entre sistema binário e sistemas Conversão entre sistema binário e sistemas de bases potências de 2:de bases potências de 2:

A A base 10base 10 não será usada como não será usada como intermediáriaintermediária

Cada grupo de Cada grupo de n dígitos n dígitos de um número escrito de um número escrito numa numa base bbase b qualquer corresponde a qualquer corresponde a um um único dígitoúnico dígito do mesmo número escrito na do mesmo número escrito na base bbase bnn

Exemplo: base 2 para base 16Exemplo: base 2 para base 16

Exemplo: base 8 para base 2Exemplo: base 8 para base 2

Exercícios 1.2.2:Exercícios 1.2.2:

Efetuar as seguintes mudanças de base:Efetuar as seguintes mudanças de base:

1.1.13A5C da base 16 para a base 513A5C da base 16 para a base 5

2.2.1001101101 da base 2 para a base 10 1001101101 da base 2 para a base 10

3.3.B12F da base 16 para a base 10B12F da base 16 para a base 10

4.4.184 da base 10 para a base 2184 da base 10 para a base 2

5.5.1632 da base 10 para a base 81632 da base 10 para a base 8

6.6.23.6 da base 8 para a base 323.6 da base 8 para a base 3

7.7.11010111.01011 da base 2 para a base 8, sem 11010111.01011 da base 2 para a base 8, sem usar base intermediáriausar base intermediária

8.8.42.B6 da base 16 para a base 2 sem usar base 42.B6 da base 16 para a base 2 sem usar base intermediária intermediária

1.2.3 – Aritmética binária e operações 1.2.3 – Aritmética binária e operações lógicaslógicas

Circuitos aritméticos Circuitos aritméticos baseiam-se nas baseiam-se nas operações aritméticas no operações aritméticas no sistema bináriosistema binário

Exemplo:Exemplo: soma, subtração e multiplicação de soma, subtração e multiplicação de números binários: a seguirnúmeros binários: a seguir

Importante:

carry e borrow

Também há carry na multiplicação

Exemplo: seja a soma

Os cálculos vão da direita para a esquerda

Primeiro cálculo: dois bits de entrada

Produz-se dois bits:soma e carry

Segundo cálculo: três bits de entrada (carry do cálculo anterior)

Também produz-se dois bits:soma e carry

Tabuada da aritmética binária:Tabuada da aritmética binária:

Valores e operações lógicas:Valores e operações lógicas:

O resultado do teste de uma O resultado do teste de uma condiçãocondição é um de é um de apenas dois valores possíveis:apenas dois valores possíveis:

Verdade Verdade ouou Falso Falso

Estes valores são denominados Estes valores são denominados valores lógicosvalores lógicos

Valores lógicosValores lógicos não são números, mas podem não são números, mas podem ser convenientemente mapeados nos ser convenientemente mapeados nos dígitos dígitos bináriosbinários::

1 = Verdade 1 = Verdade ee 0 = Falso 0 = Falso

Exemplos: Exemplos: nas instruçõesnas instruções

Se Se não há cartões na entradanão há cartões na entrada,, executar executar Esc Esc 99;;

Se Se Esc 22 = 0Esc 22 = 0,, executar executar Esc 12Esc 12;; Se Se Esc 24 > Esc 21Esc 24 > Esc 21,, executar executar Esc 10Esc 10;;

Não há cartões na entrada Não há cartões na entrada

Esc 22 = 0Esc 22 = 0

Esc 24 > Esc 21Esc 24 > Esc 21

São condições a serem testadas

Seus valores só podem ser verdade ou falso

Operadores relacionais: <, ≤, >, ≥, =, ≠Operadores relacionais: <, ≤, >, ≥, =, ≠

Comparam duas grandezasComparam duas grandezas

Seu resultado é um valor lógicoSeu resultado é um valor lógico

Operadores lógicos: and, or, not, exorOperadores lógicos: and, or, not, exor

Seus operandos são grandezas lógicasSeus operandos são grandezas lógicas

Seu resultado é um valor lógicoSeu resultado é um valor lógico

Exemplos com operadores lógicos:Exemplos com operadores lógicos:

Seja a frase:Seja a frase:

Se (meu carro tem combustível) e (sua mecânica Se (meu carro tem combustível) e (sua mecânica está em bom estado), então (saio com ele)está em bom estado), então (saio com ele)

A ação A ação (saio com ele) (saio com ele) só será realizada se só será realizada se ambas as condiçõesambas as condições

(meu carro tem combustível) (meu carro tem combustível) ee

(sua mecânica está em bom estado)(sua mecânica está em bom estado)

forem verdadeforem verdade

A palavra “e” é um operador lógico

Seu resultado é verdade, se ambos os operandos forem verdade

Exemplos com operadores lógicos:Exemplos com operadores lógicos:

Seja a frase:Seja a frase:

Se (meu carro tem combustível) e (sua mecânica Se (meu carro tem combustível) e (sua mecânica está em bom estado), então (saio com ele)está em bom estado), então (saio com ele)

A ação A ação (saio com ele) (saio com ele) só será realizada se só será realizada se ambas as condiçõesambas as condições

(meu carro tem combustível) (meu carro tem combustível) ee

(sua mecânica está em bom estado)(sua mecânica está em bom estado)

forem verdadeforem verdade

Em CES-10, no lugar da palavra

“e” será usado

“and” ou então o

símbolo “&&”

Exemplos com operadores lógicos:Exemplos com operadores lógicos:

Seja a frase:Seja a frase:

Se (meu carro está em ordem) ou (tenho carona) Se (meu carro está em ordem) ou (tenho carona) então (vou ao teatro)então (vou ao teatro)

A ação A ação (vou ao teatro) (vou ao teatro) será realizada se pelo será realizada se pelo menos uma das condiçõesmenos uma das condições

(meu carro está em ordem) (meu carro está em ordem) ouou

(tenho carona)(tenho carona)

for verdadefor verdade

A palavra “ou” é um operador lógico

Seu resultado é verdade, se pelo menos um dos operandos for verdade

Exemplos com operadores lógicos:Exemplos com operadores lógicos:

Seja a frase:Seja a frase:

Se (meu carro está em ordem) ou (tenho carona) Se (meu carro está em ordem) ou (tenho carona) então (vou ao teatro)então (vou ao teatro)

A ação A ação (vou ao teatro) (vou ao teatro) será realizada se pelo será realizada se pelo menos uma das condiçõesmenos uma das condições

(meu carro está em ordem) (meu carro está em ordem) ouou

(tenho carona)(tenho carona)

for verdadefor verdade

Em CES-10, no lugar da palavra

“ou” será usado

“or” ou então o

símbolo “||”

Exemplos com operadores lógicos:Exemplos com operadores lógicos:

Seja a frase:Seja a frase:

Se não (estou gripado) então (vou ao clube nadar)Se não (estou gripado) então (vou ao clube nadar)

A ação A ação (vou ao clube nadar) (vou ao clube nadar) será realizada se será realizada se a condiçãoa condição

(estou gripado)(estou gripado)

for falsafor falsa

A palavra “não” é um operador lógico

Seu resultado é verdade, se seu operando for falso

Exemplos com operadores lógicos:Exemplos com operadores lógicos:

Seja a frase:Seja a frase:

Se não (estou gripado) então (vou ao clube nadar)Se não (estou gripado) então (vou ao clube nadar)

A ação A ação (vou ao clube nadar) (vou ao clube nadar) será realizada se será realizada se a condiçãoa condição

(estou gripado)(estou gripado)

for falsafor falsa

Em CES-10, no lugar da palavra

“não” será usado

“not” ou então o

símbolo “!”

Outro operador lógico - exor:Outro operador lógico - exor:

exor: exor: exclusive-or (ou-exclusivo)exclusive-or (ou-exclusivo)

Operador lógico de dois operandosOperador lógico de dois operandos

O resultado só será O resultado só será verdadeverdade se os operandos se os operandos forem forem diferentes entre sidiferentes entre si

Tabuada dos operadores lógicos:Tabuada dos operadores lógicos:

Pela Álgebra Booleana, Pela Álgebra Booleana, exor exor pode ser expressa pode ser expressa em termos de em termos de andand, , or or e e notnot::

a exor b = ((not a) and b) or (a and (not b))a exor b = ((not a) and b) or (a and (not b))

Tabuada dos operadores lógicos:Tabuada dos operadores lógicos:

Cada coluna desta tabela é a Cada coluna desta tabela é a tabela-verdadetabela-verdade de um operadorde um operador

Circuitos aritméticos digitais:Circuitos aritméticos digitais:

No mercado, existem componentes para os No mercado, existem componentes para os operadores operadores andand, , oror e e notnot::

Esses componentes são Esses componentes são portas lógicas portas lógicas para para esses operadoresesses operadores

As portas As portas and and e e oror podem ter mais de duas podem ter mais de duas entradasentradas

Circuitos aritméticos digitais:Circuitos aritméticos digitais:

Equivalência entre tabelas-verdades Equivalência entre tabelas-verdades aritméticas e lógicas:aritméticas e lógicas:

Soma = Subtração = exor Soma = Subtração = exor

Carry = Produto = andCarry = Produto = and

Assim:Assim:

soma = a + b = a exor b = ((not a) and b) or (a soma = a + b = a exor b = ((not a) and b) or (a

and (not b))and (not b)) carry = a and bcarry = a and b

Circuito somador de dois números de um bit:Circuito somador de dois números de um bit:

Abreviadamente:Abreviadamente:

soma = a + b = a exor b = ((not a) and b) or (a and (not b)) carry = a and b

Somador de dois números com dois ou mais Somador de dois números com dois ou mais bits:bits:

Pode ser a Pode ser a concatenaçãoconcatenação de vários somadores de vários somadores de de três três bits cada:bits cada:

soma = a exor b exor c-inc-out = (a and b) or (a and c-in) or (b and c-in))

Exemplo: somador de dois números de 4 bits:Exemplo: somador de dois números de 4 bits:

Seu nome é Seu nome é somador com propagação de somador com propagação de carrycarry

Caráter sequencial:Caráter sequencial: cada somador de bit cada somador de bit precisa do carry do somador da direitaprecisa do carry do somador da direita

Há somadores que Há somadores que dispensamdispensam a a sequencialidade: são mais sofisticados e mais sequencialidade: são mais sofisticados e mais rápidosrápidos

1.2.4 – Representação de números 1.2.4 – Representação de números inteiros no computadorinteiros no computador

Assuntos relacionados:Assuntos relacionados:

Regras de Regras de conversãoconversão para o para o sistema bináriosistema binário de numeração (vistas anteriormente)de numeração (vistas anteriormente)

Espaço em bitsEspaço em bits ou bytes para guardar números: ou bytes para guardar números: varia com cada varia com cada hardwarehardware e com cada e com cada softwaresoftware que os manipulaque os manipula

Tratamento de Tratamento de números negativosnúmeros negativos: para : para inteiros, armazenar o inteiros, armazenar o sinalsinal e o e o módulomódulo (visto a (visto a seguir)seguir)

Sejam usados Sejam usados n bitsn bits para representar números para representar números inteirosinteiros

Representação do sinal:Representação do sinal:

Usar o bit mais à esquerda como Usar o bit mais à esquerda como bit-sinalbit-sinal; bit ; bit 11 para os números negativos e bit para os números negativos e bit 00 para os para os outros númerosoutros números

Os outros bits devem guardar informações Os outros bits devem guardar informações sobre o sobre o módulomódulo

Representação do módulo por sinal + Representação do módulo por sinal + magnitude:magnitude:

Idéia imediatista: armazenar o Idéia imediatista: armazenar o valor do módulovalor do módulo em binário (fácil interpretação)em binário (fácil interpretação)

Dado o Dado o conteúdoconteúdo de um espaço em bits na de um espaço em bits na memória, onde está guardado um memória, onde está guardado um número número inteirointeiro, dizer qual é esse número, na base 10:, dizer qual é esse número, na base 10:

Examina-se o Examina-se o bit mais à esquerda bit mais à esquerda para para saber o saber o sinalsinal

Converte-seConverte-se os outros bits para o sistema os outros bits para o sistema decimal para saber o decimal para saber o módulomódulo

Exemplo: Exemplo: seja um sistema que utiliza seja um sistema que utiliza 5 bits5 bits para armazenar inteiros; 1 para o sinal e 4 para armazenar inteiros; 1 para o sinal e 4 para o módulopara o módulo

Quais os números armazenados pelos Quais os números armazenados pelos conteúdos conteúdos 01110 01110 e e 1011010110??

01110: 01110: sinal não negativo; módulo (1110)sinal não negativo; módulo (1110)22 = = (14)(14)1010

01110 01110 corresponde a corresponde a +(14)+(14)1010

10110: 10110: sinal negativo; módulo (0110)sinal negativo; módulo (0110)22 = (6) = (6)1010

10110 10110 corresponde a corresponde a -(6)-(6)1010

Inconvenientes da representação sinal + Inconvenientes da representação sinal + magnitude:magnitude:

1.1.Possui dois zeros: Possui dois zeros: 0000000000 e e 1000010000

Complica o esquema dos circuitos aritméticosComplica o esquema dos circuitos aritméticos

2.2.Nos circuitos aritméticos, o Nos circuitos aritméticos, o bit-sinalbit-sinal deve ter deve ter tratamento diferenciadotratamento diferenciado dos demais bits dos demais bits

Circuitos aritméticos mais Circuitos aritméticos mais caroscaros e mais e mais lentoslentos

Essa representação Essa representação nãonão é mais é mais utilizadautilizada

Exemplo: erro pelo tratamento não Exemplo: erro pelo tratamento não diferenciado do bit-sinaldiferenciado do bit-sinal

Seja a soma Seja a soma 10 + (-5)10 + (-5), usando 5 bits para , usando 5 bits para inteirosinteiros

(10)(10)10 10 → 01010; (-5)→ 01010; (-5)10 10 → 10101;→ 10101;

0 1 0 1 00 1 0 1 0

++

1 0 1 0 11 0 1 0 1

1 1 1 1 1 = -15 1 1 1 1 1 = -15 → Erro→ Erro

Representação do módulo em complemento Representação do módulo em complemento de 2:de 2:

Utiliza o bit-sinal da Utiliza o bit-sinal da mesma maneiramesma maneira

Outros bits:Outros bits:

Para números Para números não-negativosnão-negativos: devem conter : devem conter o o módulomódulo, tal como em sinal + magnitude, tal como em sinal + magnitude

Para números Para números negativosnegativos: devem conter o : devem conter o complemento do módulocomplemento do módulo, somado com , somado com 11

ComplementoComplemento de um conjunto de bits: todos de um conjunto de bits: todos os bits são os bits são invertidosinvertidos (complemento de (complemento de 00100010 é é 11011101))

Exemplo: Exemplo: representação em comp-2 de representação em comp-2 de 5 bits5 bits dos números +9 e -6dos números +9 e -6

Comp-2 (+9): Comp-2 (+9): bit-sinal 0; (9)bit-sinal 0; (9)1010 = (1001) = (1001)22

Comp-2 (+9) = 01001Comp-2 (+9) = 01001

Comp-2 (-6): Comp-2 (-6): bit-sinal 1; (6)bit-sinal 1; (6)1010 = (0110) = (0110)22

Complemento (0110) + 1 = 1001 + 1 = 1010Complemento (0110) + 1 = 1001 + 1 = 1010

Comp-2 (-6) = 11010Comp-2 (-6) = 11010

Exemplo: Exemplo: decimais correspondentes às decimais correspondentes às seguintes representações em comp-2: seguintes representações em comp-2: 0110101101 e e 1100111001

01101:01101: bit-sinal é 0; (1101) bit-sinal é 0; (1101)2 2 = (13) = (13)1010

01101 =01101 = comp-2 (+13)comp-2 (+13)

11001: 11001: bit-sinal é 1; bit-sinal é 1;

complemento(1001) + 1= 0110 + 1 = 0111 = complemento(1001) + 1= 0110 + 1 = 0111 = (7)(7)1010

11001 =11001 = comp-2 (-7)comp-2 (-7)

Exemplo: Exemplo: números representáveis em comp-2 de números representáveis em comp-2 de 5 bits5 bits

Números fora do intervalo [-16, +15] não são Números fora do intervalo [-16, +15] não são representáveis em comp-2 de 5 bitsrepresentáveis em comp-2 de 5 bits

Aritmética em complemento de 2:Aritmética em complemento de 2:

1.1.Não apresenta dois zeros: Não apresenta dois zeros: 10000 = Comp-2 (-10000 = Comp-2 (-16)16)

2.2.Nos circuitos aritméticos o bit-sinal tem o Nos circuitos aritméticos o bit-sinal tem o mesmo tratamentomesmo tratamento dos outros bits dos outros bits

Para comprovar o item 2, sejam analisadas as Para comprovar o item 2, sejam analisadas as seguintes operações de soma:seguintes operações de soma:

(10 + 5), (5 + (-6)), (15 + (-10)), (12 + 6), ((-(10 + 5), (5 + (-6)), (15 + (-10)), (12 + 6), ((-9) + (-8))9) + (-8))

10 + 5: 10 + 5: o resultado deve ser +15o resultado deve ser +15

Comp-2 (+10) = 01010; Comp-2 (+5) = Comp-2 (+10) = 01010; Comp-2 (+5) = 00101; Então:00101; Então:

5 + (-6): 5 + (-6): o resultado deve ser -1o resultado deve ser -1

Comp-2 (+5) = 00101; Comp-2 (-6) = 11010; Comp-2 (+5) = 00101; Comp-2 (-6) = 11010; Então:Então:

15 + (-10): 15 + (-10): o resultado deve ser +5o resultado deve ser +5

Comp-2 (+15) = 01111; Comp-2 (-10) = Comp-2 (+15) = 01111; Comp-2 (-10) = 10110; Então:10110; Então:

12 + 6: 12 + 6: o resultado deve ser +18, fora de [-16, o resultado deve ser +18, fora de [-16, +15] (overflow);+15] (overflow);

Espera-se Espera-se resultado incorretoresultado incorreto!!!!!!

Comp-2 (+12) = 01100; Comp-2 (+6) = Comp-2 (+12) = 01100; Comp-2 (+6) = 00110; Então:00110; Então:

(-9) + (-8): (-9) + (-8): o resultado deve ser -17, fora de [-o resultado deve ser -17, fora de [-16, +15] (overflow);16, +15] (overflow);

Espera-se Espera-se resultado incorretoresultado incorreto!!!!!!

Comp-2 (-9) = 10111; Comp-2 (-8) = 11000; Comp-2 (-9) = 10111; Comp-2 (-8) = 11000; Então:Então:

Nas operações com resultados corretosNas operações com resultados corretos

Os dois carry’s mais à esquerda foram Os dois carry’s mais à esquerda foram iguaisiguais

Nas operações com resultados incorretosNas operações com resultados incorretos

Os dois carry’s mais à esquerda foram Os dois carry’s mais à esquerda foram diferentesdiferentes

Overflow = Carryn-1 exor Carryn-2

Exercícios 1.2.4:Exercícios 1.2.4:

O códigos a seguir são números binários inteiros O códigos a seguir são números binários inteiros escritos em complemento de 2, cada um com escritos em complemento de 2, cada um com diferente número de bits. Dizer o valor em diferente número de bits. Dizer o valor em decimal com sinal de cada um deles.decimal com sinal de cada um deles.

1.1.1111011110

2.2.1111

3.3.10101011010101

4.4.010101010010101010

5.5.1000000010000000

1.2.5 – Representação de números 1.2.5 – Representação de números reais no computadorreais no computador

Qualquer número real Qualquer número real x x pode ser colocado na pode ser colocado na formaforma

x = 0.mantissa * basex = 0.mantissa * baseexpoenteexpoente

Mantissa, base e expoente podem estar Mantissa, base e expoente podem estar escritos em escritos em qualquer basequalquer base

Aqui, por razões didáticas, Aqui, por razões didáticas, basebase e e expoenteexpoente serão expressos em serão expressos em base 10base 10

Exemplos:Exemplos:

(257.45)10 = (0.25745)10 * 103 = (0.0025745)10 * 105 = (0.0000025745)10 * 108

(0.00101)2 = (0.101)2 * 2-2 =

(0.00000101)2 * 23

(0.00000101)2 = (0.0101)2 * 16-1 =

(0.000000000101)2 * 161

Sistema de ponto-flutuante: representação de números reais onde um mesmo número pode ter o ponto em qualquer posição da mantissa, bastando ajustar o valor do expoente

Forma normalizada: Forma normalizada: forma em que o dígito forma em que o dígito mais significativo da mantissa está à mais significativo da mantissa está à direitadireita do do ponto e o mais ponto e o mais próximopróximo possível dele possível dele

Forma desnormalizada: Forma desnormalizada: forma em que isso não forma em que isso não ocorreocorre

(257.45)10 = (0.25745)10 * 103 = (0.0025745)10 * 105 = (0.0000025745)10 * 108

(0.00101)2 = (0.101)2 * 2-2 =

(0.00000101)2 * 23

(0.00000101)2 = (0.0101)2 * 16-1 =

(0.000000000101)2 * 161

Armazenamento no computador:Armazenamento no computador:

x = 0.mantissa * basex = 0.mantissa * baseexpoenteexpoente

Armazena-se a Armazena-se a mantissamantissa e o e o expoenteexpoente no no sistema bináriosistema binário

A A basebase é uma é uma potência de 2 potência de 2 e não é e não é armazenadaarmazenada

Ela é Ela é implícitaimplícita nos nos circuitoscircuitos e/ou nos e/ou nos programasprogramas que manipulam números reais que manipulam números reais

Armazenamento no computador:Armazenamento no computador:

x = 0.mantissa * basex = 0.mantissa * baseexpoenteexpoente

Utiliza-se sistema de ponto-flutuante e forma Utiliza-se sistema de ponto-flutuante e forma normalizadanormalizada

Tipicamente usa-se:Tipicamente usa-se: Um bit para o Um bit para o sinal sinal Um determinado número de bits para a Um determinado número de bits para a

mantissa em comp-2mantissa em comp-2 Um determinado número de bits para o Um determinado número de bits para o

expoenteexpoente

Não há Não há bit-sinalbit-sinal para para expoentesexpoentes

Para se armazenar o Para se armazenar o expoenteexpoente de um número: de um número:

Soma-se a ele o módulo do expoente Soma-se a ele o módulo do expoente negativo de negativo de maior módulo maior módulo representável, representável, obtendo-se o que se chama obtendo-se o que se chama característicacaracterística do númerodo número

Armazena-se a Armazena-se a característicacaracterística, ao invés do , ao invés do expoenteexpoente

Exemplo:Exemplo: seja um sistema de ponto-flutuante seja um sistema de ponto-flutuante com as seguintes dimensões:com as seguintes dimensões:

32 bits (4 bytes) 32 bits (4 bytes) para armazenar npara armazenar nosos reais reais 1 bit 1 bit para o sinalpara o sinal 23 bits23 bits para a mantissa para a mantissa 8 bits (1 byte) 8 bits (1 byte) para o expoente (ou para o expoente (ou

característica)característica) Base = 2Base = 2

Como ficam armazenados nesse sistema os Como ficam armazenados nesse sistema os seguintes números:seguintes números:

(0.5625)(0.5625)1010 , (2.3) , (2.3)1010 e (0.0625) e (0.0625)1010 ? ?

32 bits (4 bytes) 32 bits (4 bytes) para armazenar npara armazenar nosos reais reais 1 bit 1 bit para o sinalpara o sinal 23 bits23 bits para a mantissa para a mantissa 8 bits (1 byte) 8 bits (1 byte) para o expoente (ou para o expoente (ou

característica)característica) Base = 2Base = 2

Com Com 8 bits 8 bits para expoentes, esses podem variar para expoentes, esses podem variar no intervalo no intervalo [-128, 127][-128, 127]

Expoente negativo de maior módulo:Expoente negativo de maior módulo: -128 -128

Característica = Expoente + 128Característica = Expoente + 128

Representação do número (0.5625)Representação do número (0.5625)1010::

(0.5625)(0.5625)1010 = (0.1001) = (0.1001)22 = (0.1001) = (0.1001)22 * 2 * 200;;

Já está normalizado, logoJá está normalizado, logo

característicacaracterística = 0 + 128 = (128) = 0 + 128 = (128)1010 = = (1000 (1000 0000)0000)22

mantissamantissa = = 100 1000 0000 0000 0000 0000100 1000 0000 0000 0000 0000

Então, (0.5625)Então, (0.5625)1010 fica assim armazenado: fica assim armazenado:

Representação do número (2.3)Representação do número (2.3)1010::

(2.3)(2.3)1010 = (10.0 1001 1001 1001 ...) = (10.0 1001 1001 1001 ...)22 * 2 * 200; ; desnormalizadodesnormalizado

(2.3)(2.3)1010 = (0.100 1001 1001 1001 ...) = (0.100 1001 1001 1001 ...)22 * 2 * 222

característicacaracterística = 2 + 128 = (130) = 2 + 128 = (130)1010 = = (1000 (1000 0010)0010)22

mantissamantissa = = 100 1001 1001 1001 1001 1001100 1001 1001 1001 1001 1001

Então, (2.3)Então, (2.3)1010 fica assim armazenado: fica assim armazenado:

A mantissa sofreu um truncamento!

Imprecisão!

Representação do número (0.0625)Representação do número (0.0625)1010::

(0.0625)(0.0625)1010 = (0.0001) = (0.0001)22 * 2 * 200; ; desnormalizadodesnormalizado

(0.0625)(0.0625)1010 = (0.1) = (0.1)22 * 2 * 2-3-3

característicacaracterística = -3 + 128 = (125) = -3 + 128 = (125)1010 = = (0111 (0111 1101)1101)22

mantissamantissa = = 100 0000 0000 0000 0000 0000100 0000 0000 0000 0000 0000

Então, (0.0625)Então, (0.0625)1010 fica assim armazenado: fica assim armazenado:

Exemplo:Exemplo: seja um sistema de ponto-flutuante seja um sistema de ponto-flutuante com as mesmas dimensões do sistema anterior, com as mesmas dimensões do sistema anterior, exceto:exceto:

Base = 16Base = 16

Como ficam armazenados nesse sistema os Como ficam armazenados nesse sistema os seguintes números:seguintes números:

(42.3)(42.3)1010 e (0.0625) e (0.0625)1010 ? ?

Uma alteração unitária no expoente Uma alteração unitária no expoente corresponde a mover o ponto sobre 4 casas na corresponde a mover o ponto sobre 4 casas na mantissamantissa

Representação do número (42.3)Representação do número (42.3)1010::

(42.3)(42.3)1010 = (10 1010.0 1001 1001 1001 ...) = (10 1010.0 1001 1001 1001 ...)22 * * 161600; ;

(42.3)(42.3)1010 = (0.001 0101 0010 0110 0110 0110 = (0.001 0101 0010 0110 0110 0110 ...)...)22 * 16 * 1622

característicacaracterística = 2 + 128 = (130) = 2 + 128 = (130)1010 = = (1000 (1000 0010)0010)22

mantissamantissa = = 001 0101 0010 0110 0110 0110001 0101 0010 0110 0110 0110

Então, (42.3)Então, (42.3)1010 fica assim armazenado: fica assim armazenado:

A mantissa sofreu um truncamento!

Imprecisão!

normalizado

Representação do número (0.0625)Representação do número (0.0625)1010::

(0.0625)(0.0625)1010 = (0.0001) = (0.0001)22 * 16 * 1600; ; já está já está normalizadonormalizado

característicacaracterística = 0 + 128 = (128) = 0 + 128 = (128)1010 = = (1000 (1000 0000)0000)22

mantissamantissa = = 000 1000 0000 0000 0000 0000000 1000 0000 0000 0000 0000

Então, (0.0625)Então, (0.0625)1010 fica assim armazenado: fica assim armazenado:

Observações:Observações:

Limitar o número de bitsLimitar o número de bits para manipular para manipular reais delimita:reais delimita:

O O tamanho máximotamanho máximo dos reais manipuláveis dos reais manipuláveis

A A precisãoprecisão com que os reais são com que os reais são transportados entre computador e ambiente transportados entre computador e ambiente externoexterno

Observações:Observações:

Há infinitos números reaisHá infinitos números reais

Dentro de qualquer intervalo finito, a Dentro de qualquer intervalo finito, a quantidade de números reais é infinitaquantidade de números reais é infinita

Dessa quantidade, apenas um Dessa quantidade, apenas um subconjunto subconjunto finitofinito de números reais é de números reais é representávelrepresentável no no computadorcomputador

-∞ +∞

Observações:Observações:

Qualquer representação de números reais em Qualquer representação de números reais em computadores introduz computadores introduz erroserros

É necessário É necessário truncar a mantissatruncar a mantissa, para que , para que caiba no caiba no espaço finito espaço finito de memória a ela de memória a ela reservadoreservado

Quanto maior esse espaço, menores os erros Quanto maior esse espaço, menores os erros introduzidosintroduzidos

Observações:Observações:

Há processos numéricos que Há processos numéricos que amplificamamplificam muito pequenos erros como esses, muito pequenos erros como esses, comprometendo os resultadoscomprometendo os resultados

Portanto a programação envolvendo números Portanto a programação envolvendo números reais deve ser muito criteriosa para que os reais deve ser muito criteriosa para que os erros desses resultados não sejam erros desses resultados não sejam significativossignificativos

Exercícios 1.2.5:Exercícios 1.2.5:

Um computador utiliza 32 bits (4 bytes) para Um computador utiliza 32 bits (4 bytes) para armazenar números reais; 1 bit para o sinal, 8 armazenar números reais; 1 bit para o sinal, 8 bits para a característica e 23 bits para a bits para a característica e 23 bits para a mantissa.mantissa.

1.1.Supondo que a base para a característica seja Supondo que a base para a característica seja 2, dizer como ficam armazenado nesse 2, dizer como ficam armazenado nesse computador os números (242.6)computador os números (242.6)1010 e e (0.0859375)(0.0859375)1010

2.2.Supondo agora que a base seja 16, dizer como Supondo agora que a base seja 16, dizer como ficam armazenado nesse computador os ficam armazenado nesse computador os números (115,9)números (115,9)1010 e (0.0234375) e (0.0234375)1010

1.2.6 – Representação de textos no 1.2.6 – Representação de textos no computadorcomputador

Textos são importantes informações Textos são importantes informações manipuladas por computadoresmanipuladas por computadores

Exemplos:Exemplos:

Empregados de uma empresaEmpregados de uma empresa Livros de uma bibliotecaLivros de uma biblioteca Conteúdo didático de aulas e livrosConteúdo didático de aulas e livros

TextoTexto é uma sequência linear de símbolos de é uma sequência linear de símbolos de grafia denominados grafia denominados caracterescaracteres

Exemplos de caracteres:Exemplos de caracteres:

Letras maiúsculas e minúsculas: Letras maiúsculas e minúsculas: A, B, ... , Z, A, B, ... , Z, a, b, ... , za, b, ... , z

Dígitos decimais: Dígitos decimais: 0, 1, 2, ... , 8, 90, 1, 2, ... , 8, 9 Operadores aritméticos: Operadores aritméticos: +, -, *, /+, -, *, / Separadores: Separadores: (, ), [, ], {, }(, ), [, ], {, } Caracteres de pontuação: Caracteres de pontuação: . , ; ! ? :. , ; ! ? : Caracteres especiais: Caracteres especiais: @, #, $, %, &@, #, $, %, & Caracteres de controle: muda linha Caracteres de controle: muda linha (nl)(nl), ,

tabulação tabulação (ht), (ht), etc.etc.

Cada caractere ocupa Cada caractere ocupa 1 byte 1 byte (8 bits) na (8 bits) na memóriamemória

A introdução de textos na memória pelo A introdução de textos na memória pelo teclado se dá por meio de teclado se dá por meio de conversão de cada conversão de cada teclatecla digitada para um determinado conjunto digitada para um determinado conjunto de de 8 bits8 bits

Cada caractere tem seu conjunto específico Cada caractere tem seu conjunto específico denominado denominado padrão de bitspadrão de bits

Com 8 bits, existem 256 padrões distintos, Com 8 bits, existem 256 padrões distintos, possibilitando representar 256 caracteres possibilitando representar 256 caracteres diferentesdiferentes

A determinação dos padrões de bits para cada A determinação dos padrões de bits para cada caractere é estabelecido por padronizações caractere é estabelecido por padronizações internacionais denominadas internacionais denominadas códigos para códigos para informaçõesinformações

O código mais conhecido é o O código mais conhecido é o ASCIIASCII (American (American Standard Code for Information Interchange) Standard Code for Information Interchange)

Ver tabela a seguir:Ver tabela a seguir:

Tabela para o código ASCII:Tabela para o código ASCII:

0 1 2 3 4 5 6 7 8 9

0 nul bel bs ht

10 nl cr

20 esc

30 sp ! " # $ % & '

40 ( ) * + , - . / 0 1

50 2 3 4 5 6 7 8 9 : ;

60 < = > ? @ A B C D E

70 F G H I J K L M N O

80 P Q R S T U V W X Y

90 Z [ \ ] ^ _ ` a b c

100

d e f g h i j k l m

110

n o p q r s t u v w

120

x y z { | } ~ del

Exemplos:Exemplos:

0 1 2 3 4 5 6 7 8 9

0 nul

bel

bs ht

10 nl cr

20 esc

30 sp ! " # $ % & '

40 ( ) * + , - . / 0 1

50 2 3 4 5 6 7 8 9 : ;

60 < = > ? @ A B C D E

70 F G H I J K L M N O

80 P Q R S T U V W X Y

90 Z [ \ ] ^ _ ` a b c

100

d e f g h i j k l m

110

n o p q r s t u v w

120

x y z { | } ~ del

Caractere ‘K’:

linha 70 + coluna 5 = (75)10 = (1001011)2;

ASCII (‘K’) = 01001011

Caractere ‘&’:

linha 30 + coluna 8 = (38)10 = (100110)2;

ASCII (‘&’) = 00100110Caractere ‘{’:

linha 120 + coluna 3 = (123)10 = (1111011)2;

ASCII (‘{’) = 01111011

Para maior clareza, os códigos estarão em Para maior clareza, os códigos estarão em decimaldecimal

0 1 2 3 4 5 6 7 8 9

0 nul

bel

bs ht

10 nl cr

20 esc

30 sp ! " # $ % & '

40 ( ) * + , - . / 0 1

50 2 3 4 5 6 7 8 9 : ;

60 < = > ? @ A B C D E

70 F G H I J K L M N O

80 P Q R S T U V W X Y

90 Z [ \ ] ^ _ ` a b c

100

d e f g h i j k l m

110

n o p q r s t u v w

120

x y z { | } ~ del

Exemplos:

ASCII (‘K’) = 75

ASCII (‘&’) = 38

ASCII (‘{’) = 123

Esses valores são as representações internas dos caracteres

Significado de alguns caracteres de controle:Significado de alguns caracteres de controle:

O caractere O caractere belbel toca uma campainha, durante toca uma campainha, durante um curtíssimo período de tempoum curtíssimo período de tempo

O caractere O caractere nul nul é muito usado como é muito usado como finalizador de sequências de caracteresfinalizador de sequências de caracteres

Exemplo: armazenamentoExemplo: armazenamento

do textodo texto

“Cada caractere tem seu padrao de 8 bits; <nl>  <nl>Existem 256 padroes de bits distintos.”

Armazenamento a partirArmazenamento a partir

do endereço 407do endereço 407

“Cada caractere tem seu padrao de 8 bits; <nl>  <nl>Existem 256 padroes de bits distintos.”

A tabela ASCII vista abrange o intervalo A tabela ASCII vista abrange o intervalo [0, [0, 127]127]; é a tabela básica; é a tabela básica

No intervalo [128, 255], caracteres especiais: No intervalo [128, 255], caracteres especiais:

Letras acentuadas: Letras acentuadas: ç, á, ü, etc. ç, á, ü, etc. Letras de alfabetos diversos: Letras de alfabetos diversos: , , , , ښښ, , ضض, , ځځ , , etc.etc. Símbolos matemáticos: Símbolos matemáticos: ∞, ∫, ≠, ↔, √, etc.∞, ∫, ≠, ↔, √, etc. Figuras especiais; Figuras especiais; ♥, ♫, ©, ☺, ♥, ♫, ©, ☺, , etc. , etc.

Esse intervalo tem sido usado de forma Esse intervalo tem sido usado de forma diferentediferente pelos vários fabricantes de hardware pelos vários fabricantes de hardware e de software, dificultando a e de software, dificultando a portabilidadeportabilidade dos dos programasprogramas

1.2.7 – Representação de imagens no 1.2.7 – Representação de imagens no computadorcomputador

A tela de vídeo é dividida retangularmente em A tela de vídeo é dividida retangularmente em um conjunto de minúsculos quadrados um conjunto de minúsculos quadrados chamados chamados pixels pixels (Picture elements)(Picture elements)

Vídeo em preto e brancoVídeo em preto e branco

00 para branco e para branco e 11 para preto para preto

Vídeo colorido - Padrão RBG (Red Blue Green)Vídeo colorido - Padrão RBG (Red Blue Green)

Diferentes cores são obtidas a partir de Diferentes cores são obtidas a partir de intensidades diferentes dessas intensidades diferentes dessas três cores três cores primáriasprimárias

Um Um pixelpixel é armazenado em é armazenado em 3 bytes 3 bytes (1 byte (1 byte por cor básica)por cor básica)

Exemplo:Exemplo: imagem com 1024 linhas de 1024 imagem com 1024 linhas de 1024 pixels ocupará pixels ocupará 3 Megabytes 3 Megabytes

Existem técnicas de Existem técnicas de compressão de dados compressão de dados para reduzir o para reduzir o gasto excessivo gasto excessivo de memóriade memória

1.2.8 – Representação de instruções no 1.2.8 – Representação de instruções no computadorcomputador

Um Um programaprograma é um conjunto de é um conjunto de instruçõesinstruções

Essas instruções devem estar armazenadas na Essas instruções devem estar armazenadas na RAM, para que sejam executadas pela CPURAM, para que sejam executadas pela CPU

Na RAM devem ficar também os Na RAM devem ficar também os dadosdados (números, textos, imagens) a serem manipulados (números, textos, imagens) a serem manipulados por essas instruçõespor essas instruções

É necessária É necessária cuidadosa programaçãocuidadosa programação para para que a CPU não tome que a CPU não tome dado por instrução dado por instrução e e vice-versavice-versa

Uma instrução é dividida tipicamente em duas Uma instrução é dividida tipicamente em duas partes: partes:

CCódigo da operaçãoódigo da operação, que é a especificação , que é a especificação da operação a ser realizada pela instruçãoda operação a ser realizada pela instrução

Informações sobre os Informações sobre os operandosoperandos

Há instruções com Há instruções com zerozero, , umum, , doisdois ou até ou até maismais operandosoperandos

Para cada operando, a informação pode ser o Para cada operando, a informação pode ser o própriopróprio ou o seu ou o seu endereçoendereço

Classes de instruções:Classes de instruções:

Entrada e saída de dados:Entrada e saída de dados: comunicação com comunicação com o meio externo ao computador ou com sua o meio externo ao computador ou com sua memória secundária, para receber e/ou enviar memória secundária, para receber e/ou enviar informaçõesinformações

Movimentação de dados:Movimentação de dados: transporte de transporte de dados entre a RAM e os registradores da CPU dados entre a RAM e os registradores da CPU e carregamento de constantes em um desses e carregamento de constantes em um desses módulos de memóriamódulos de memória

Classes de instruções:Classes de instruções:

Operações aritméticas e lógicas:Operações aritméticas e lógicas: cálculos cálculos entre conteúdos de palavras do sistema de entre conteúdos de palavras do sistema de memória e/ou constantes especificadas na memória e/ou constantes especificadas na própria instruçãoprópria instrução

Controle do fluxo de execução:Controle do fluxo de execução: alteração alteração condicional ou incondicional da sequência de condicional ou incondicional da sequência de instruçõesinstruções

O O espaço ocupadoespaço ocupado por uma instrução por uma instrução depende: depende:

Da Da naturezanatureza da operação a ser realizada da operação a ser realizada Do Do númeronúmero de operandos de operandos Da forma de Da forma de referenciá-losreferenciá-los Da Da arquiteturaarquitetura do computador do computador

Há instruções que ocupam apenas Há instruções que ocupam apenas 1 byte1 byte; ; outras ocupam outras ocupam dois ou mais bytesdois ou mais bytes

Recommended