capítulo i – conceitos primários 1.1 – estrutura de um computador 1.2 – informações...
TRANSCRIPT
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