Sistemas de numeração: exercícios com soluções passo a passo
Também chamado: sistema binário · sistema hexadecimal · conversão de bases
Exercícios grátis de Sistemas de numeração com diagramas, dicas e soluções completas resolvidas. Valores novos a cada vez, em três níveis: de binário e hexadecimal para decimal, complemento para dois, bits, intervalos e memória.
Exercício gratuitoFácil
Defina os bits para que o registrador de 8 bits contenha 0x99. Qual é o valor N do padrão em decimal?
0x99
Clique em um bit para alternar entre 0 e 1. A caixa mostra seu padrão como um número sem sinal, e você também pode digitá-lo. Resposta exata: um número inteiro, sem arredondar.
divida pela base e leia os restos de baixo para cima
Hexadecimal ↔ binário
um dígito hexadecimal = 4 bits
Complemento para dois
inverta os bits e some 1
Aprenda Sistemas de numeração do zero
1O que é um sistema de numeração
No dia a dia você conta em decimal, base 10. Ele tem dez algarismos, de 0 a 9, e cada posição vale dez vezes a posição à sua direita.
Em 352, o 3 vale 300, o 5 vale 50 e o 2 vale 2. As posições valem 1, 10, 100 a partir da direita.
352 = 3 · 100 + 5 · 10 + 2 · 1
Um computador guarda tudo como interruptores ligados ou desligados. Por isso conta em binário, base 2, com apenas os algarismos 0 e 1.
Um algarismo binário é um bit. Um grupo de 8 bits é um byte.
A regra é a mesma em qualquer base: cada algarismo vale o seu valor vezes uma potência da base.
Autoavaliação No número decimal 4721, quanto vale o 7?
7000
700
70
7
Resposta: 700. Contando a partir da direita, as posições valem 1, 10, 100 e 1000. O 7 está na terceira posição, então vale 7 · 100 = 700.
2Binário e hexadecimal
Em binário as posições valem 1, 2, 4, 8, 16 e assim por diante, a partir da direita. Cada posição vale o dobro da posição à sua direita.
Para um número de 8 bits as posições valem 128, 64, 32, 16, 8, 4, 2 e 1.
Para ler um número binário, some os valores de posição de cada bit igual a 1. Para 0011 0010 isso é 32 + 16 + 2 = 50.
Longas sequências de bits são difíceis de ler. Programadores costumam escrevê-las em hexadecimal (hex), base 16.
O hexadecimal precisa de 16 algarismos. Usa 0 a 9 e depois as letras A = 10, B = 11, C = 12, D = 13, E = 14 e F = 15.
As posições hexadecimais valem 1, 16, 256 e 4096, a partir da direita. Um número hexadecimal costuma ser escrito com 0x na frente, por exemplo 0x2F.
Um algarismo hexadecimal tem exatamente 4 bits, então 0011 0010 é 0x32: 0011 é 3 e 0010 é 2.
Autoavaliação Quanto é 0x1A em decimal?
110
11
161
26
Resposta: 26. A = 10. As posições são 16 e 1, então 1 · 16 + 10 · 1 = 26. Escrever os algarismos lado a lado (110) ou somá-los (11) ignora os valores de posição. 161 usa as posições na ordem errada.
3Números negativos: complemento de dois
Um byte com todas as posições positivas guarda de 0 a 255. Isso se chama sem sinal.
Para guardar números negativos, os computadores usam o complemento de dois. A única mudança é que o bit mais à esquerda vale −128 em vez de +128.
Então 1000 0011 é −128 + 2 + 1 = −125. O bit mais à esquerda se chama bit de sinal: quando é 1, o número é negativo.
Um número de 8 bits em complemento de dois vai de −128 (1000 0000) a +127 (0111 1111).
Para escrever um número negativo −x, parta de +x em binário, inverta cada bit (0 vira 1, 1 vira 0) e some 1.
Exemplo para −5: 5 é 0000 0101. Invertido fica 1111 1010. Somando 1 dá 1111 1011.
O mesmo padrão lido como sem sinal tem o valor 256 − x. Para −5 isso é 251, e 1111 1011 é de fato 128 + 64 + 32 + 16 + 8 + 2 + 1 = 251.
Autoavaliação O padrão de 8 bits 1111 1111 guarda um número em complemento de dois. Qual é o seu valor?
255
−127
−128
−1
Resposta: −1. −128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = −1. 255 é a leitura sem sinal. −127 vem de tratar o primeiro bit como um sinal de menos na frente de 111 1111.
4O método passo a passo
Binário ou hexadecimal para decimal:
Escreva o valor de posição embaixo de cada algarismo: potências de 2 para binário, potências de 16 para hexadecimal, começando por 1 na direita.
Em hexadecimal, substitua cada letra pelo seu valor: de A = 10 até F = 15.
Multiplique cada algarismo pelo seu valor de posição e some tudo.
Complemento de dois:
Para ler um padrão, dê ao bit mais à esquerda o valor −128 (em 8 bits) e some os valores de posição de todos os bits 1.
Para escrever −x, escreva +x em 8 bits, inverta cada bit e some 1.
O valor sem sinal desse padrão é 256 − x. Use-o para conferir os seus bits.
Bits, faixas de valores e memória:
n bits dão 2ⁿ padrões diferentes.
Sem sinal eles guardam de 0 a 2ⁿ − 1. Em complemento de dois guardam de −2ⁿ⁻¹ a 2ⁿ⁻¹ − 1.
Para dar a k itens um código próprio, encontre o menor b com 2b ≥ k.
Para a memória, multiplique o número de itens pelos bits por item, depois divida por 8 para obter bytes e por 1024 para obter KiB.
M = largura × altura × bits por pixel / 8 / 1024 (KiB)
5Um exemplo resolvido
Acompanhe cada passo. Tente prever o próximo antes de abri-lo.
Exemplo resolvido
O padrão de 8 bits 1011 0110 guarda um inteiro com sinal em complemento de dois. Qual é o seu valor N em decimal?
1
Escreva os valores de posição
Em complemento de dois a posição mais à esquerda vale −128. As outras posições são 64, 32, 16, 8, 4, 2 e 1.
2
Observe o bit de sinal
O bit mais à esquerda é 1, então o número é negativo.
3
Some os bits 1
Os bits 1 estão nas posições −128, 32, 16, 4 e 2.
N = −128 + 32 + 16 + 4 + 2 = −74
4
Confira com o valor sem sinal
Lido como sem sinal, o padrão é 128 + 32 + 16 + 4 + 2 = 182.
Para um número negativo o valor sem sinal é 256 − x, então x = 256 − 182 = 74. Isso dá N = −74 de novo.
5
Confira invertendo
Inverta 1011 0110 para obter 0100 1001 e some 1 para obter 0100 1010.
0100 1010 é 64 + 8 + 2 = 74. Então o padrão original é −74.
Resposta
N = −74
6Erros comuns
Esquecer de somar 1 depois de inverter os bits. Você acaba com um valor uma unidade abaixo.
Ler um padrão em complemento de dois como sem sinal, por exemplo 1111 1111 como 255 em vez de −1.
Tratar o bit de sinal como um sinal de menos na frente dos outros bits. Em complemento de dois ele vale −128.
Colocar as posições na ordem errada. A posição que vale 1 está sempre à direita.
Usar A = 11 em hexadecimal. As letras começam em A = 10.
Misturar bits e bytes em questões de memória. Divida o número de bits por 8.
Autoavaliação Qual é −5 como padrão de 8 bits em complemento de dois?
0000 0101
1000 0101
1111 1010
1111 1011
Resposta: 1111 1011. 5 é 0000 0101. Inverter dá 1111 1010 e somar 1 dá 1111 1011. 1111 1010 esquece de somar 1, e 1000 0101 põe um sinal de menos na frente do 5.
7Como são as questões de prova
Fácil: binário e hexadecimal para decimal. Converta um número binário de 8 bits ou um hexadecimal de 3 algarismos para decimal.
Médio: complemento de dois. Leia o valor de um padrão de 8 bits com sinal, ou escreva um número negativo como padrão e dê o seu valor sem sinal.
Difícil: bits, faixas de valores e memória. O maior ou o mais negativo valor que cabe em n bits, o número de bits necessário para k códigos, ou a memória ocupada por uma imagem.
Exemplo de questão difícil: uma imagem de 256 × 256 com 24 bits por pixel ocupa 256 · 256 · 24 / 8 / 1024 = 192 KiB.
Autoavaliação Qual é o menor número de bits que dá a 375 itens um código próprio?
188
512
8
9
Resposta: 9. 2⁸ = 256 códigos são poucos, 2⁹ = 512 bastam, então 9 bits. 512 é o número de códigos, não o número de bits.
Converta o número hexadecimal 0x2BE para decimal. Calcule N.
0x2BEA = 10 … F = 15
Calcule N
Mostrar dicas
Em hexadecimal as posições valem 1, 16, 256, 4096 a partir da direita.
Substitua as letras pelo seu valor (A = 10 … F = 15), multiplique pelo peso e some.
2 = 2, B = 11, E = 14.
Mostrar a resposta e a solução passo a passo
Sistemas de numeração posicionais: cada algarismo vale o seu valor vezes uma potência da base. Em binário as posições valem 1, 2, 4, 8, 16, …; em hexadecimal 1, 16, 256, …, com A–F para 10–15. No complemento para dois de 8 bits, o bit da esquerda vale −128 em vez de +128; é assim que se guardam os números negativos.
Multiplicar cada algarismo pelo seu peso
2·256 + 11·16 + 14·1 = 702
Resposta
0x2BE = 702
Exemplo 2Média
Defina os bits para armazenar −45 em complemento de dois de 8 bits. Lido como um número sem sinal, qual é o valor U do padrão?
N = −458 bit
Calcule U
Mostrar dicas
Escreva 45 em binário, inverta todos os bits e some 1.
45 = 0010 1101₂.
Como número sem sinal, o padrão é igual a 256 + N.
Mostrar a resposta e a solução passo a passo
Definir bits: cada bit vale uma potência de dois (128, 64, …, 1). Um dígito hexadecimal são exatamente quatro bits, e em complemento de dois de 8 bits o bit mais à esquerda vale −128. As operações bit a bit atuam em cada posição de bit separadamente.
Inverter e somar um
45 = 0010 1101
invertido: 1101 0010
+1 → 1101 0011
Ler sem sinal
1101 0011₂ = 256 − 45 = 211
Resposta
U = 211
Exemplo 3Difícil
Defina os bits com o resultado de 8 bits de 0111 0001 >> 3. Qual é o valor R do resultado em decimal?
0111 0001>> 3
Calcule R
Mostrar dicas
Deslocar para a direita por 3 move cada bit 3 posições para a direita; os bits que saem pela extremidade direita se perdem e entram zeros pela esquerda.
Trabalhe uma posição de bit de cada vez, da esquerda para a direita.
Os quatro primeiros bits do resultado são 0000.
Mostrar a resposta e a solução passo a passo
Definir bits: cada bit vale uma potência de dois (128, 64, …, 1). Um dígito hexadecimal são exatamente quatro bits, e em complemento de dois de 8 bits o bit mais à esquerda vale −128. As operações bit a bit atuam em cada posição de bit separadamente.
Bit a bit
Deslocar para a direita por 3 move cada bit 3 posições para a direita; os bits que saem pela extremidade direita se perdem e entram zeros pela esquerda.
0111 0001 >> 3
= 0000 1110
Valor do resultado
0000 1110₂ = 14
Resposta
R = 14
Perguntas e respostas
Sistemas de numeração: o que é?
No dia a dia você conta em decimal, base 10. Ele tem dez algarismos, de 0 a 9, e cada posição vale dez vezes a posição à sua direita.
Em 352, o 3 vale 300, o 5 vale 50 e o 2 vale 2. As posições valem 1, 10, 100 a partir da direita.
Sistemas de numeração: como resolver os exercícios passo a passo?
Sistemas de numeração posicionais: cada algarismo vale o seu valor vezes uma potência da base. Em binário as posições valem 1, 2, 4, 8, 16, …; em hexadecimal 1, 16, 256, …, com A–F para 10–15. No complemento para dois de 8 bits, o bit da esquerda vale −128 em vez de +128; é assim que se guardam os números negativos.
Sistemas de numeração: o que se pratica?
Fácil: de binário e hexadecimal para decimal
Média: complemento para dois
Difícil: bits, intervalos e memória
Cada exercício tem valores novos, então você aprende o método em vez de decorar uma resposta. Travou? Abra primeiro uma dica pequena, e a explicação completa só quando precisar.
Como a prática funciona
Cada exercício tem valores novos, então você aprende o método em vez de decorar uma resposta.
Travou? Abra primeiro uma dica pequena, e a explicação completa só quando precisar.
Seu progresso, seus erros e seus exercícios salvos ficam guardados, para você revisar antes da prova.