Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações...
Transcript of Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações...
![Page 1: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/1.jpg)
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
![Page 2: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/2.jpg)
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
![Page 3: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/3.jpg)
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
![Page 4: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/4.jpg)
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
![Page 5: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/5.jpg)
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
![Page 6: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/6.jpg)
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
![Page 7: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/7.jpg)
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
![Page 8: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/8.jpg)
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
![Page 9: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/9.jpg)
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
![Page 10: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/10.jpg)
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
![Page 11: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/11.jpg)
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
![Page 12: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/12.jpg)
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
![Page 13: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/13.jpg)
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
![Page 14: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/14.jpg)
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
![Page 15: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/15.jpg)
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
![Page 16: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/16.jpg)
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
![Page 17: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/17.jpg)
Tabela dos prefixos kilo, mega, giga, etc.:Tabela dos prefixos kilo, mega, giga, etc.:
![Page 18: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/18.jpg)
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
![Page 19: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/19.jpg)
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)
![Page 20: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/20.jpg)
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)
![Page 21: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/21.jpg)
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
![Page 22: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/22.jpg)
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
![Page 23: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/23.jpg)
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
![Page 24: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/24.jpg)
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
![Page 25: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/25.jpg)
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
![Page 26: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/26.jpg)
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
![Page 27: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/27.jpg)
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
![Page 28: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/28.jpg)
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
![Page 29: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/29.jpg)
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
![Page 30: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/30.jpg)
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
![Page 31: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/31.jpg)
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
![Page 32: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/32.jpg)
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
![Page 33: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/33.jpg)
Exemplo: base 2 para base 16Exemplo: base 2 para base 16
Exemplo: base 8 para base 2Exemplo: base 8 para base 2
![Page 34: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/34.jpg)
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
![Page 35: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/35.jpg)
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
![Page 36: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/36.jpg)
Importante:
carry e borrow
Também há carry na multiplicação
![Page 37: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/37.jpg)
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
![Page 38: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/38.jpg)
Segundo cálculo: três bits de entrada (carry do cálculo anterior)
Também produz-se dois bits:soma e carry
![Page 39: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/39.jpg)
Tabuada da aritmética binária:Tabuada da aritmética binária:
![Page 40: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/40.jpg)
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
![Page 41: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/41.jpg)
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
![Page 42: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/42.jpg)
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
![Page 43: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/43.jpg)
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
![Page 44: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/44.jpg)
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 “&&”
![Page 45: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/45.jpg)
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
![Page 46: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/46.jpg)
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 “||”
![Page 47: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/47.jpg)
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
![Page 48: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/48.jpg)
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 “!”
![Page 49: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/49.jpg)
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
![Page 50: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/50.jpg)
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))
![Page 51: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/51.jpg)
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
![Page 52: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/52.jpg)
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
![Page 53: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/53.jpg)
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
![Page 54: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/54.jpg)
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
![Page 55: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/55.jpg)
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
![Page 56: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/56.jpg)
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))
![Page 57: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/57.jpg)
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
![Page 58: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/58.jpg)
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
![Page 59: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/59.jpg)
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)
![Page 60: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/60.jpg)
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
![Page 61: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/61.jpg)
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
![Page 62: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/62.jpg)
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
![Page 63: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/63.jpg)
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
![Page 64: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/64.jpg)
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
![Page 65: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/65.jpg)
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))
![Page 66: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/66.jpg)
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
![Page 67: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/67.jpg)
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)
![Page 68: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/68.jpg)
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
![Page 69: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/69.jpg)
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))
![Page 70: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/70.jpg)
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:
![Page 71: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/71.jpg)
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:
![Page 72: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/72.jpg)
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:
![Page 73: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/73.jpg)
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:
![Page 74: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/74.jpg)
(-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:
![Page 75: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/75.jpg)
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
![Page 76: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/76.jpg)
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
![Page 77: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/77.jpg)
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
![Page 78: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/78.jpg)
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
![Page 79: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/79.jpg)
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
![Page 80: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/80.jpg)
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
![Page 81: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/81.jpg)
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
![Page 82: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/82.jpg)
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
![Page 83: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/83.jpg)
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 ? ?
![Page 84: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/84.jpg)
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
![Page 85: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/85.jpg)
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:
![Page 86: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/86.jpg)
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!
![Page 87: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/87.jpg)
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:
![Page 88: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/88.jpg)
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
![Page 89: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/89.jpg)
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
![Page 90: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/90.jpg)
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:
![Page 91: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/91.jpg)
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
![Page 92: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/92.jpg)
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
-∞ +∞
![Page 93: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/93.jpg)
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
![Page 94: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/94.jpg)
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
![Page 95: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/95.jpg)
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
![Page 96: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/96.jpg)
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
![Page 97: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/97.jpg)
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.
![Page 98: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/98.jpg)
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
![Page 99: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/99.jpg)
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:
![Page 100: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/100.jpg)
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
![Page 101: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/101.jpg)
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
![Page 102: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/102.jpg)
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
![Page 103: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/103.jpg)
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
![Page 104: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/104.jpg)
Exemplo: armazenamentoExemplo: armazenamento
do textodo texto
“Cada caractere tem seu padrao de 8 bits; <nl> <nl>Existem 256 padroes de bits distintos.”
![Page 105: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/105.jpg)
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.”
![Page 106: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/106.jpg)
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
![Page 107: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/107.jpg)
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
![Page 108: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/108.jpg)
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
![Page 109: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/109.jpg)
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
![Page 110: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/110.jpg)
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
![Page 111: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/111.jpg)
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
![Page 112: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/112.jpg)
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
![Page 113: Capítulo I – Conceitos Primários 1.1 – Estrutura de um computador 1.2 – Informações manipuladas por um computador 1.3 – Evolução das linguagens de programação.](https://reader036.fdocument.pub/reader036/viewer/2022062512/552fc10f497959413d8c5554/html5/thumbnails/113.jpg)
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