Preparatório EsFCExSISTEMAS DE COMPUTAÇÃO
Sistema de NumeraçãoProf. Eliel Martins
SumárioIntroduçãoSistemas de numeraçãoConversão entre basesNúmeros inteirosNúmero decimaisNúmeros Reais (Introdução)Representação de dados, símbolos e caracteresConclusão
Introdução● Lista de Assuntos
○ 3. Sistemas de computação■ a. Sistemas de numeração aritmética em diversas
bases numéricas, conversão entre bases, representação de dados, símbolos e caracteres. Representação e aritmética binária de números inteiros (ponto fixo) e reais (ponto fixo e ponto flutuante), decimal zonado e decimal compactado.
Introdução● Bibliografia
○ TANENBAUM, Andrew S. Organização Estruturada de Computadores. 5. ed. São Paulo: Pearson Prentice Hall, 2010.
○ PATTERSON, David A.; HENNESSY, John L. Organização e Projeto de Computadores: interface hardware/software. 3. ed. Rio de Janeiro: Campus, 2005.
Introdução● Conceitos básicos
○ Bit - Digito binário (0,1) - menor unidade em circulação em sistema computacional
○ Um grupo de 4 bits = nibble○ Um grupo de 8 bits = byte○ um grupo de 16 bits = word○ um grupo de 32 bits = double word○ um grupo de 64 bits = quad word
Sistemas de Numeração
Sistemas de NumeraçãoSistemas Numéricos● Notações utilizadas para representar números● Definido pela base que utiliza● A base é o número de símbolos diferentes, ou
algarismos, necessários para representar um número qualquer, dos infinitos possíveis no sistema
Sistemas de Numeração● Sistemas Numéricos
○ Posicional■ Valor atribuído a um símbolo depende de sua
posição no conjunto■ Algarismos arábicos, binários, octal e hexadecimal■ Ex: 123 != 321
○ Não posicional■ O valor atribuído a um símbolo não depende de sua
posição no conjunto■ Ex: Algarismos romanos: XXI = XXI
Sistemas de NumeraçãoSistema decimal● Base 10● Símbolos: 0 1 2 3 4 5 6 7 8 9● Universalmente utilizado
Sistemas de NumeraçãoSistema Binário● Base 2● Símbolos: 0 e 1● Base para a Álgebra booleana● Base da eletrônica digital
Sistemas de NumeraçãoSistema Octal● Base 8● Símbolos: 0, 1, 2, 3, 4, 5, 6, 7● Foi muito utilizado, sendo substituído pelo
hexadecimal
Sistemas de NumeraçãoSistema Hexadecimal - Base 16● 16 dígitos, de 0 à 9 e da letra A até F● Símbolos: 0 1 2 3 4 5 6 7 8 9 A B C D E F● São utilizados na programação de
microprocessadores● Utilizados em programação de baixo nível
Sistemas de NumeraçãoSistema Hexadecimal - Base 16● Capaz de reduzir uma longa sequência de
números binários em poucos caracteres● Qualquer combinação de números binários de
4 dígitos pode ser representada por um único símbolo hexadecimal.
Sistemas de Numeração
Conversão entre bases
Conversão entre basesConversão entre bases● De qualquer base para decimal● De decimal para qualquer outra base
Conversão entre basesConversão entre bases● De qualquer base para decimal
○ Soma dos símbolos x base ^ posição
Conversão entre basesBinário para decimal - Ex: 100011002= (1x27)+(0x26)+(0x25)+(0x24)+(1x23)+(1x22)+(0x21)+(0x20) = 128 + 0 + 0 + 0 + 8 + 4 + 0 + 0 = 14010
Número 1 0 0 0 1 1 0 0
Posição 7 6 5 4 3 2 1 0
Potência1x27 0x26 0x25 0x24 1x23 1x22 0x21 0x20
1x128 0x64 0x32 0x16 1x8 1x4 0x2 0x1
Resultado 128 0 0 0 8 4 0 0
Somatório 128 + 8 + 4 = 140
Conversão entre basesOctal para decimal - Ex: 2148= (2x82) + (1x81) + (4x80)= 2x64 + 1x8 + 4x1 = 14010
Número 2 1 4
Posição 2 1 0
Potência2x82 1x81 4x80
2x64 1x8 4x1
Resultado 128 0 0
Somatório 128 + 8 + 4 = 140
Conversão entre basesHexadecimal para decimal - Ex: 36B016= (3x163) + (6x162) + (Bx161) + (0x160 )= 3x4096 + 6x256 + 11x16 + 0x1 = 1400010
Número 3 6 B (11) 0
Posição 3 2 1 0
Potência6x163 6x162 11x161 0x160
6x4096 6x256 11x16 0x1
Resultado 12288 1536 176 0
Somatório 12288 + 1536 + 176 = 14000
Conversão entre basesNúmeros fracionários para decimal - Ex: 36,B216= (3x161) + (6x160) + (Bx16-1) + (2x16-2)= 3x16 + 6x1 + 11x1/16 + 2x1/256 = 54,695312510
Número 3 6 B (11) 2
Posição 21 0 -1 -2
Potência3x161 3x160 11x16-1 2x16-2
3x16 6x1 11x1/16 0x1/256
Resultado 48 6 0,6875 0,0078125
Somatório 48 + 6 + 0,6875 + 0,0078125 = 54,6953125
Conversão entre basesNúmeros fracionários para decimal - Ex: 101,1012
= (1x22) + (0x21) + (1x20) + (1x2-1) + (0x2-2) + (1x2-3) = = (1x4) + (0x2) + (1x1) + (1x1/2) + (0x1/2) + (1x1/8) = = 4 + 1 + 0,5 + 0,125 = = 5,62510
Conversão entre basesNúmeros fracionários para decimal - Ex: 74,328
= (7x81) + (4x80) + (3x8-1) + (2x8-2) == (7x8) + (4x1) + (3x1/8) + (2x1/64) == 56 + 4 + 0,375 + 0,03125 == 60,4062510
Conversão entre bases2019 – Q 54 - Gabarito D
Conversão entre bases2019 – Q 54 – Resolução
Número: 1000,01012= 1x23 + 1x2-2 + 1x2-4
= 8 + 1/4 + 1/16= 8 + 0,25 + 0,0625= 8 + 0,3125= 8,3125
Conversão entre basesConversão entre bases● De decimal para qualquer outra base
○ Parte inteira: divide-se o número a ser convertido pela base desejada até que o quociente seja zero. Os restos das divisões formam a parte inteira do número convertido; o primeiro resto representa o último dígito
○ Parte fracionária: multiplica-se a parte fracionária do número a ser convertido pela base desejada. A parte inteira dos produtos obtidos representam a parte fracionária do número procurado
Conversão entre basesConversão Decimal para Binário 10010 = 0110 01002
100/2= 50Resto 050/2 = 25Resto 025/2 = 12Resto 112/2 = 6Resto 06/2 = 3Resto 03/2 = 1Resto 11/2 = 0Resto 1
Conversão entre basesConversão decimal para Octal 20010 = 3108
200/8 = 25 Resto 025/8 = 3 Resto 13/8 = 0 Resto 3
Conversão entre basesNúmeros fracionários 120,3210 = 78,5116
● Parte inteira120/16 = 7 Resto 87/16 = 0 Resto 7
● Parte fracionária0,32 x 16 = 5,12 Inteiro 50,12 X 16 = 1,92 Inteiro 1
Conversão entre bases
Converter 120,3210● Parte inteira120/2 = 60 Resto 060/2 = 30 Resto 030/2 = 15 Resto 015/2 = 7 Resto 17/2 = 3 Resto 13/2 = 1 Resto 11/2 = 0 Resto 1
● Parte fracionária
0,32x2 = 0,64 → 00,64x2 = 1,28 → 1
● Resultado111100,012
Conversão entre bases - MacetesConversão rápida entre base 2 e 10● Converter o número 13410 para base 2● Encontrar o maior valor que pode ser somado com outros
para obter o número desejado● Adicionar bit 1 onde o valor puder ser somando
Resultado: 100001102
2048 1024 512 256 128 64 32 16 8 4 2 1
1 0 0 0 0 1 1 0
Conversão entre bases - MacetesConversão rápida entre base 2 e 10● Converter o número 110010012 para base 10● Distribuir os dígitos da esquerda para a direita● Somar os decimais onde o bit for 1
Resultado: 128+64+8+1 = 20110
2048 1024 512 256 128 64 32 16 8 4 2 1
1 1 0 0 1 0 0 1
Conversão entre bases - MacetesConversão entre binária e octal● Partindo da vírgula, separar em conjuntos de 3 bits ● Completar com zeros os conjuntos incompletos, for
necessário● Ex: 1001110001102 = 47068
Binário 100 111 000 110
Octal 4 7 0 6
Conversão entre bases - MacetesConversão entre binária e octal● Partindo da vírgula, separar em conjuntos de 3 bits ● Completar com zeros os conjuntos incompletos, for
necessário, observando a direção● Ex: 11011000,111012 = 330,728
Binário 011 011 000 111 010
Octal 3 3 0 7 2
Conversão entre bases - MacetesConversão entre binária e octal● De octal para binária é o processo inverso● Ex: 657,438 = 110101111,1000112
Octal 6 5 7 4 3
Binário 110 101 111 100 011
Conversão entre bases - MacetesConversão de binário hexadecimal● Partindo da vírgula, separar em conjuntos de 4 bits ● Completar com zeros os conjuntos incompletos, for
necessário● Ex: 110011100001010110012 = CE15916
Binário 1100 1110 0001 0101 1001
Octal C E 1 5 9
Conversão entre bases2012 – Q 36 – Gabarito C
Conversão entre bases2012 – Q 36 - Resolução
258 = 000101012510 = 00011001 2516 = 00100101
318 = 000110013110 = 3116 =
Números inteiros
Números inteirosRepresentação de números inteirosFormas de representação● módulo e sinal (MS)● complemento de 1 (C-1)● complemento de 2 (C-2)
Números inteirosMódulo e sinal (MS)● Também denominado de Sinal-e-magnitude● Bit que está situado mais à esquerda representa o sinal, e
o seu valor será 0 para o sinal + e 1 para o sinal -● Os bits restantes (N-1) representam o módulo do número● Para 8 bits (N=8), o valor
○ 00101010 = +42○ 10101010 = -42
Números inteirosMódulo e sinal (MS)● Faixa de representação simétrica: -2N-1+1 <= X <= 2N-1 -1● Para 8 bits (byte), a faixa é: -127 <= X <= 127● Para 16 bits (word), a faixa é:
-32767 <= X <= 32767● Para 32 bits (double word), a faixa é:
-2147483647 <= X <= 2147483647
Números inteirosMódulo e sinal (MS)● Vantagem
○ Faixa simétrica● Desvantagem
○ Duas representações para o zero○ Para 8 bits: 00000000 (+0) e 1000000 (-0)
Números inteirosComplemento de 1 (C-1)● Também utiliza o bit mais à esquerda para o sinal,
correspondendo o 0 ao sinal + e o 1 ao sinal -● O simétrico de um número positivo é obtido pelo
complemento de todos os seus dígitos (trocando 0 por 1 e vice-versa), incluindo o bit de sinal
● Para 8 bits (N=8), o valor ○ 00101010 = +42○ 11010101 = -42
Números inteirosComplemento de 1 (C-1)● Mesma faixa de representação para N dígitos do método
módulo e sinal: -2N-1+1 <= X <= 2N-1 -1
Números inteirosComplemento de 2 (C-2)● Também utiliza o bit mais à esquerda para o
sinal, correspondendo o 0 ao sinal + e o 1 ao sinal -
Números inteirosComplemento de 2 (C-2)O simétrico de um número é obtido em dois passos:● Primeiro passo: Obtém-se o complemento de todos os bits
do número positivo (trocando 0 por 1 e vice-versa) incluindo o bit do sinal, isto é, executa-se o Complemento de 1.
● Segundo passo: Ao resultado obtido no primeiro passo soma-se 1 (em binário), desprezando-se o último transporte, se existir.
Números inteirosComplemento de 2 (C-2)
Números inteirosComplemento de 2 (C-2)Obtendo o simétrico (forma mais fácil):● A partir da direita repete-se todos os bits até o primeiro 1
inclusive. ● Depois inverte-se todos os bits a esquerda deste um● Exemplo: Número: 00001010 C-2: 11110110
Números inteirosComplemento de 2 (C-2)● Faixa de representação: -2N-1 <= X <= 2N-1 -1● Para 8 bits (byte), a faixa é: -128 <= X <= 127● Para 16 bits (word), a faixa é:
-32768 <= X <= 32767● Para 32 bits (double word), a faixa é:
-2147483648 <= X <= 2147483647
Números inteirosComplemento de 2 (C-2)● Mais utilizado por causa da não ambiguidade
na representação do 0● Vantagem
○ Representação única para o zero● Inconveniência
○ Assimetria → existem mais valores negativos que positivos
Números inteiros2007 – Q 17 – Gabarito D
Números inteiros2006 – Q 15 – Gabarito A
Números inteirosAritmética de números inteiros
● Quatro operações básicas no sistema binário ○ Adição○ Subtração○ Divisão○ Multiplicação
Números inteirosAdição● Fazem-se as contas coluna a coluna● Fazendo o transporte de um (<e vai um> ou carry)● Regras básicas
○ 0 + 0 = 0○ 0 + 1 = 1○ 1 + 1 = 102 (1 mais 1 é igual a 0 e vai 1)○ 1 + 1 + 1 = 112 (1 mais 1 mais 1 é igual a 1 e vai 1)
Números inteirosAdição - Exemplos:
0 0 1 0 0 0 1 120 1 0 0 0 1 1 12 +--------------------0 1 1 0 1 0 1 02
Números inteirosAdição - Exemplos(com o <e vai um>):
1 1 1 0 12 1 1 0 12 +---------------1 0 0 1 02
Números inteirosSubtração● Fazem-se as contas coluna a coluna● Se diminuidor exceder o diminuendo, subtrai-se uma
unidade ao dígito imediatamente à esquerda no diminuendo (se existir e o seu valor for 1), convertendo-o a 0
● Esse empréstimo vem valendo dois○ 0 - 0 = 0○ 1 - 1 = 0○ 1 - 0 = 1○ 0 - 1 = 1 (o empréstimo igual a 1)
Números inteirosSubtração – Exemplo:
● O número dois corresponde a duas unidades binárias
0112 0120 0200 11000 -111 ---------- 10001
Números inteirosMultiplicação● Operação semelhante à multiplicação decimal● Regras:
○ 0 * 0 = 0○ 0 * 1 = 0○ 1 * 0 = 0○ 1 * 1 = 1
Números inteirosMultiplicação - Exemplo:
● Multiplicar os números 10112 e 11012●
Números inteiros 1 0 1 1 1 1 0 1 * ---------- 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 ------------------------- 1 0 0 0 1 1 1 1
Números inteirosDivisão● Pode ser feita por subtrações sucessivas● Pode ser feita de maneira idêntica à divisão
decimal
Números inteirosDivisão - por subtrações sucessivas
Números inteirosDivisão - idêntica à divisão decimal
Números inteiros2012 – Q 41 – Gabarito A
Números inteiros2012 – Q 41 – Resolução
13578 = 001 011 101 11122368 = 010 010 101 110 + ----------------------- 011 111 111 1012 3 7 7 58
Números decimais
Números decimaisDecimal zonado e decimal compactado● Valores monetários● Valores precisos● BCD (Binary-coded decimal)● Desvantagens● Faixa de valores restrita● Desperdício de memória● Não armazena ponto decimal
Números decimaisDecimal zonado● Entrada e saída● Representa um dígito decimal por byte
○ Esquerda - zona (Nibble de mais alta ordem)○ Direita - número
● Zona ○ EBCDIC: F - 1111○ ASCII: 3 - 0011
Números decimaisDecimal zonado● Ex: Número 1234● Binário:
○ 1111 0001 1111 0010 1111 0011 1111 0100 ● Hexadecimal:
○ F1 F2 F3 F4
Números decimaisDecimal zonado● Sinal
○ Último byte à direita : à esquerda (parte de zona) = sinal
○ Positivo = C - 1100○ Negativo = D – 1101○ Sem sinal = F - 1111
Números decimaisDecimal zonado● Ex: Número decimal 1234
Sem sinal: 1111 0001 1111 0010 1111 0011 1111 0100 F 1 F 2 F 3 F 4
Positivo: 1111 0001 1111 0010 1111 0011 1100 0100 F 1 F 2 F 3 C 4
Negativo: 1111 0001 1111 0010 1111 0011 1101 0100 F 1 F 2 F 3 D 4
Números decimaisDecimal compactado● Cada byte representa dois dígitos● Exceto o último
○ Esquerda – número○ Direita - Sinal
● Exemplo: Formato COMP-3 do COBOL
Números decimaisDecimal compactado● Sinal
○ Último byte à direita : à esquerda número a direita sinal○ Positivo = C - 1100○ Negativo = D - 1101○ Sem sinal = F - 1111
Números decimaisDecimal compactadoEx: Número decimal 1234 Sem sinal: 0000 0001 0010 0011 0100 1111 0 1 2 3 4 F
Positivo: 0000 0001 0010 0011 0100 1100 0 1 2 3 4 C
Negativo: 0000 0001 0010 0011 0100 1101 0 1 2 3 4 D
Números reais
Números reaisRepresentação de números reais:● Ponto fixo● Ponto flutuante
Ponto fixo● Determinamos quantidade de bits para a parte
inteira e fracionária (matissa)● Todos os valores possuem a mesma
quantidade de algarismos inteiros e fracionários
● Sua utilização é feita programaticamente● Os inteiros são um caso particular com a
virgula implícita
Ponto fixo● Formas de representação:
○ Binário puro (inteiros)○ Decimal compactado○ Decimal não compactado
Ponto fixo● Ponto fixo em um 1.15● Um bit para a parte inteira● 15 bits para a fracionária
Ponto flutuanteNúmeros reais - Ponto flutuante● A quantidade de bits que representa um
número real é limitado, mas os números reais não
● Sofrem truncamento na sua parte fracionária● Duas partes:
○ a fração (algumas vezes chamada de mantissa)○ a posição do ponto decimal é chamada de expoente
Ponto flutuante● O número decimal +6132,789
○ Fração: +.6132789○ Expoente: +04
● O valor do expoente indica que a posição real do ponto decimal é quatro pontos a direita do ponto decimal indicado na fração
● equivalente a notação científica: ○ +.6132789 x 10+4
Ponto flutuante● Podem ser representados na forma Fx10E
● Onde:○ F = Fração○ E = Expoente
● Apenas a fração e o expoente são fisicamente representados em termos computacionais
● A base 10 e o ponto decimal da fração são mostrados explicitamente
Ponto flutuanteNormalização● Um número ponto flutuante é dito normalizado
se o dígito mais significativo da fração não é zero
● Exemplo: ○ 0.350 é normalizada○ mas 0.0035 não é
● Números normalizados fornecem a melhor precisão para números ponto flutuante
Ponto flutuantePadrão IEEE 754 (1985)● Define três formas de representação de ponto
flutuante: ○ a precisão simples (32 bits) - float○ precisão dupla (64 bits) - double○ precisão estendida (80 bits)
Ponto flutuantePadrão IEEE 754 - Representação● Forma geral de representação
● sinal - s (zero positivo, um negativo)● O campo expoente (Exp) codifica E● O campo fração (frac) codifica M (Mantissa)
sinal exp fração
Ponto flutuantePadrão IEEE 754 - Representação● O Expoente E da representação normalizada● O Expoente E, pode ser positivo ou negativo,
mas não é armazenado em complemento a dois
● Usa-se a “representação excesso” (ou bias)● E = Exp – Bias
○ Exp: valor sem sinal representado por expoente○ Nunca será negativo
Ponto flutuantePadrão IEEE 754 - Representação● Bias : valor de excesso
○ 127 em float (Exp: 1...254, E: -126...127)○ 1023 em double (Exp: 1...2046, E: -1022...1023)○ 2n-1 - 1 (no caso geral), onde n é o número de bits para
representar o expoente● Exemplos:
○ exp = 1 E = (1-127) = -126○ exp = 127 E = (127-127) = 0○ exp = 225 E = (225-127) = 98
Ponto flutuantePadrão IEEE 754 - Representação● Mantissa na representação normalizada● O padrão estabelece uma representação
normalizada, com valores 1 <= M < 2. Isto é possível, escolhendo se o Exp adequadamente adequadamente.
• A mantissa é sempre da seguinte formaM = 1 + fração
Ponto flutuantePadrão IEEE 754 - Representação● Mantissa na representação normalizada● Armazena-se apenas a parte fracionária (frac)● A soma com “1” é sempre implícita, não é
armazendo● Exemplos:
frac = 0...02 = 010 M=1,0 frac = 0101...02 = 0,25 + 0,062510 M=1,03125
Ponto flutuantePadrão IEEE 754 - Representação
Ponto flutuante● float: exp = 8 bits, frac = 23 bits, sinal = 1 bit
○ Total: 32 bits○ Faixa de valores: 2-126 até 2127
● double: exp =11 bits, frac = 52 bits, sinal = 1 bit○ Total: 64 bits○ Faixa de valores: 2-1022 até 21023
● Precisão estendida: exp =15 bits, frac = 63 bits,sinal = 1 bit○ Total: 80 bits○ Faixa de valores: 2-16382 até 216383
○ 1 bit é desperdiçado
Ponto flutuante2011 – Q 47 – Gabarito E
Ponto flutuante2011 – Q 49 – Gabarito A
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,375● Precisão simples
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,375● Passos para resolução:
○ 1º Passo: Converter o número para binário○ 2º Passo: Normalizar o número○ 3º Passo: Calcular a representação binária do expoente○ 4º Passo: Representar em ponto flutuante
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510● 1º passo: Converter o número para binário
○ Parte inteira: 1100101112
2048 1024 512 256 128 64 32 16 8 4 2 1
1 1 0 0 1 0 1 1 1
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510● 1º passo: Converter o número para binário
○ Parte inteira: 1100101112○ Parte fracionária: 0112
0,375x2 = 0,7500,750x2 = 1,5000,500x2 = 1,000 -> (ponto de parada)
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510● 1º passo: Converter o número para binário
○ Número na base 2: 110010111,0112
● 2º passo: Normalização: 1,100101110112 x 28
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510 = 1,100101110112 x 28
● 3º Passo: Calcular a representação binária do expoente○ E = Exp - Bias○ 8 = Exp - 127○ Exp = 8 + 127○ Exp = 13510○ Exp = 100001112
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● Número: +407,37510 = 1,100101110112 x 28
○ M = 100101110112○ Exp = 100001112
● 4º Passo: Representar em ponto flutuante○ a) 01000011110010111011000000000000 ?○ Correto?
Ponto flutuante2011 – Q 49 – Gabarito A - Resolução● b) http://www.h-schmidt.net/FloatConverter/IEEE754.html● c) http://www.binaryconvert.com/convert_float.html● d) Questão●
○ a - 01000011110010111011000000000000○ b - 01000011110010111011000000000000○ c - 01000011110010111011000000000000○ d - 00001001110010111011000000000000
○
Ponto flutuanteResultado b)
Ponto flutuanteResultado c)
Ponto flutuanteExemplo: Representar o número 0,12510 em ponto flutuante com precisão simples● 1º Passo: Converter o número para binário
○ Parte inteira = 0○ Parte fracionária = 0012
■ 0,125 x 2 = 0,25■ 0,250 x 2 = 0,50■ 0,500 x 2 = 1,00 -> Ponto parada
○ 0,12510 = 0,0012
Ponto flutuante● 2º Passo: Normalizar o número
○ 0,0012 = 12 x 2-3
● 3º Passo: Calcular a representação binária do expoente○ E = -3○ Bias = 127○ E = Exp - Bias○ Exp = -3 +127 = 124○ Exp = 1111 11002
Ponto flutuante● 4º Passo: Representar em ponto flutuante
○ S = 0○ M = 0 ○ E = 1111100○ Resultado:
■ 0,12510 = 001111100000000000000000000000002
Ponto flutuante2007 - Q 19 - Gabarito D
Ponto flutuante2007 - 19 - Gabarito D - Resolução● Número: C1E0000016
● Sinal = 1● E = 1000 00112 = 13110 - 12710 = 410● M = 112 = 1,112 (1 implícito)
Hex C 1 E 0 0 0 0 0
Binário 1100 0001 1110 0000 0000 0000 0000 0000
Ponto flutuante2007 - 19 - Gabarito D - Resolução● Número: C1E0000016
○ Sinal = 1○ E = 410
● M = 1,112 = 1x20 x 1x2-1 x 1x2-2 = 1 + ½ + ¼ = = 1 + 0,5 + 0,25 = 1,7510● Representação: -1,75 x 24 = -1,75 x 16 = -28
Ponto flutuanteErros● Conjunto de números de números reais é
infinito● Representação em Ponto flutuante é limitada
○ a faixa dos expoentes é limitada (Emin ≤ E ≤ Emax)○ a mantissa (m) pode representar um número finito de
números ( β−1 ≤ m ≤ 1 − β−t )■ t = número de algarismos da mantissa■ β = base
Ponto flutuanteErros● Representação em Ponto flutuante é limitada
○ a faixa dos expoentes é limitada (Emin ≤ E ≤ Emax)■ Erros de Overflow e Underflow
○ a mantissa (m) pode representar um número finito de números ( β−1 ≤ m ≤ 1 − β−t )■ Erros de aproximação
● t = número de algarismos da mantissa● β = base
Ponto flutuanteErro - Overflow e Underflow● Número com expoente superior ao expoente
máximo● Número com expoente inferior ao expoente
mínimo
Ponto flutuanteErro - Overflow e Underflow● Principais ações na ocorrência do erro:● Overflow
○ Encerra o cálculo○ Retorna um número que representa o infinito
● Underflow○ Encerra o cálculo○ Arredonda para zero○ Arredonda para um número subnormal
Ponto flutuanteErro - Aproximação● O tamanho fixo da mantissa impõe que a
maioria dos números não possuam uma representação exata
● Duas formas:○ Arredondamento○ Truncamento (chopping)
Ponto flutuanteErro - Aproximação - Arredondamento● Exemplo: 2,6457513
○ Hipótese: base decimal de 5 dígitos● Arredondamento
○ Para cima se Y ≥ 5 e para baixo se Y < 5○ 2,6458
● Truncamento○ 2,6457
Ponto flutuante2013 - Q 34 - Gabarito - Anulada
Ponto flutuante2013 - Q 34 - Gabarito - Anulada ● Motivos?
○ 0,314710 = 0.010100012
Representação de dados, símbolos e caracteres
Representação de dadosRepresentação de dados, símbolos e caracteres● Os bytes são utilizados para representar
caracteres números, figuras, ou qualquer outro tipo de dado armazenado ou processado por um sistema computacional
Representação de dadosASCII● American Standard Code for Information
Interchange● Originalmente utilizava 7 bits
○ Apenas 95 caracteres imprimíveis: 32 a 126○ Do 0 ao 31 são caracteres de controle
● A versão estendida utiliza 8 bits○ Letras do alfabeto latino
Representação de dados
Representação de dados● EBCDIC
○ Padrão IBM○ Utiliza 8 bits○ Concorrência com ASCII
Representação de dadosUNICODE● Padronização de representação● Unicode Consortium● Associa um número para cada carácter, independente do
programa, plataforma ou idioma● Codificados em 2 bytes● Formas de representação como UTF-8, UTF-16 e UTF-32● UTF - Unicode Transformation Format
Perguntas?
Obrigado!
Recommended