Dentro de um processador existem bilhões de interruptores minúsculos. Cada um pode estar apenas ligado ou desligado. Isso é tudo o que um computador tem fisicamente — não há três, nem sete, nem…
Narração em inglês · Legendas em inglês + 中文 gravadas
1.1
Por que os computadores usam binário
Um computador só pode trabalhar com dois estados: ligado e desligado. Você escreve esses como 1 e 0. Um sistema que usa apenas dois dígitos 数字 é chamado binário 二进制 (base 2).
Computadores representam todos os dados — números, texto, som e imagens — como sequências binárias de 0s e 1s
Todo tipo de dado 数据 — números, texto, som e imagens — deve ser convertido para binário antes que um computador possa usá-lo. O computador processa esse binário usando portas lógicas 逻辑门 e armazena em registros 寄存器 (pequenos e rápidos armazenamentos dentro do processador 处理器).
Um microprocessador contém milhões de transistores minúsculos, cada um sendo um interruptor ligado (1) ou desligado (0) — a base física do binário
1 Entenda como e por que os computadores usam binário para representar todas as formas de dados
• Qualquer forma de dados precisa ser convertida para binário para ser processada por um computador • Dados são processados usando portas lógicas e armazenados em registradores
2 (a) Entenda os sistemas numéricos decimal, binário e hexadecimal (b) Converta entre (i) decimal positivo e binário positivo (ii) decimal positivo e hexadecimal positivo (iii) hexadecimal positivo e binário positivo
• Decimal é um sistema base 10 • Binário é um sistema base 2 • Hexadecimal é um sistema base 16 • Valores usados serão apenas inteiros • Conversões em ambas as direções, ex.: decimal para binário ou binário para decimal • Comprimento máximo do número binário de 16 bits
3 Entenda como e por que o hexadecimal é usado como um método benéfico de representação de dados
• As áreas dentro da ciência da computação onde o hexadecimal é usado devem ser identificadas • O hexadecimal é mais fácil para humanos entenderem do que o binário, pois é uma representação mais curta do binário
4 (a) Some dois inteiros binários positivos de 8 bits (b) Entenda o conceito de transbordamento e por que ocorre na adição binária
• Um erro de transbordamento ocorrerá se o valor for maior que 255 em um registrador de 8 bits • Um computador ou dispositivo tem um limite predefinido que pode representar ou armazenar, por exemplo 16 bits • Um erro de transbordamento ocorre quando um valor fora desse limite deve ser retornado
5 Realize um deslocamento binário lógico em um inteiro binário positivo de 8 bits e entenda o efeito disso no inteiro binário positivo
• Realize deslocamentos lógicos para a esquerda • Realize deslocamentos lógicos para a direita • Realize múltiplos deslocamentos • Bits deslocados do final do registrador são perdidos e zeros são deslocados para o extremo oposto do registrador • O inteiro binário positivo é multiplicado ou dividido de acordo com o deslocamento realizado • Os bit(s) mais significativo(s) ou menos significativo(s) são perdidos
6 Use o sistema numérico complemento de dois para representar inteiros binários de 8 bits positivos e negativos
• Converta um inteiro binário ou decimal positivo para um inteiro de complemento de dois de 8 bits e vice-versa • Converta um inteiro binário ou decimal negativo para um inteiro de complemento de dois de 8 bits e vice-versa
Fonte: Programa Cambridge International
Contagem em binário: 0 a 15
Um sistema numérico 数制 é uma maneira de escrever números usando um conjunto fixo de dígitos. Você precisa de três deles.
Sistema
Base
Dígitos usados
Decimal
10
0–9
Binário
2
0 e 1
Hexadecimal
16
0–9 depois A–F
decimal 十进制 é o sistema normal de contagem (também chamado decimal).
binário usa apenas 0 e 1.
hexadecimal 十六进制 (hex) usa dezesseis dígitos: 0–9, depois A, B, C, D, E, F representam 10, 11, 12, 13, 14, 15.
A base 基数 diz quantos dígitos diferentes um sistema usa.
Valor posicional
Cada coluna em um número tem um valor posicional 位值. No binário, os valores dobram da direita para a esquerda. Para um número de 8 bits eles são:
128 64 32 16 8 4 2 1
Um quadro de valor posicional de 8 bits: os 1 ficam sob os valores que somam 150
Um bit 位 é um único 0 ou 1. Oito bits fazem um byte 字节. Quatro bits (metade de um byte) é um nibble 半字节.
Conversão entre sistemas numéricos
Decimal → Binário. Escreva os valores posicionais. Coloque um 1 sob cada valor necessário para somar seu número; coloque 0 nos demais.
Cada dígito hex mapeia para seu próprio nibble de 4 bits — F08 = 1111 0000 1000
Binário → Hexadecimal. Agrupe os bits em nibbles de 4, começando da direita. Converta cada nibble para um dígito hex.
Decimal → Hexadecimal. A maneira fácil é mudar para binário primeiro, depois binário para hex.
Esta tabela ajuda com as letras hex:
Decimal
Binário
Hex
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
Questões da Cambridge usam números binários de até 16 bits de comprimento.
Exemplo resolvido. Converta decimal 100 para binário de 8 bits, depois para hexadecimal.
$100 = 64 + 32 + 4$, então o binário é 01100100. Dividindo em nibbles, 01100100$= 6$ e $4$, então o hexadecimal é 64.
Por que hexadecimal é usado
Hex é mais curto que binário e mais fácil para pessoas lerem e escreverem. Um dígito hex substitui 4 dígitos binários, assim você comete menos erros. O valor não muda — hex é apenas uma forma mais curta de mostrar o mesmo binário.
Cientistas da computação usam hex para:
Endereços MAC e endereços IPv6
Códigos de cores em HTML (por exemplo, #FF0000 é vermelho)
endereços de memória 内存地址 e códigos de erro
Mostrar o conteúdo da memória (um "voltagem de memória")
Explorar
Binário, decimal e hexadecimal
Digite um número e veja-o em binário, decimal e hexadecimal — e como as posições posicionais o constituem.
Somando coluna por coluna; os carregamentos se propagam para a esquerda. 118 + 48 = 166
Transbordamento
Um registrador de 8 bits pode armazenar valores decimais de 0 a 255 apenas. Se uma adição resultar em um valor acima de 255, a resposta precisará de um 9º bit. O registrador não consegue armazenar esse bit extra, então ele é perdido. Isso é chamado de overflow 溢出 (um erro de overflow). Isso acontece quando um valor sai do limite que o registrador pode armazenar.
Exemplo: 11001000 (200) $+$01001000 (72) $= 272$. Em binário isso é 1 00010000, que precisa de 9 bits. O 1 inicial não caberá em 8 bits, então a resposta armazenada estará errada.
Adicionar 200 e 72 precisa de 9 bits, mas um registrador de 8 bits descarta o nono, então a resposta está errada
Um deslocamento binário lógico 逻辑二进制移位 move todos os bits para a esquerda ou para a direita por um certo número de posições.
Bits que saem da extremidade do registrador são perdidos.
Zeros são adicionados na extremidade vazia.
Um deslocamento à esquerda multiplica o número por 2 para cada posição movida. Um deslocamento à direita divide-o por 2 para cada posição; os bits mais à direita (os bits menos significativos 最低有效位) são perdidos.
Exemplo: deslocar à esquerda 00110101 (53) em 2 posições.
Deslocamento à esquerda de 2: cada bit se move 2 posições para a esquerda, os bits superiores são perdidos e zeros preenchem a direita
O resultado é 11010100 (212), que é $53 \times 4$. Os dois bits mais à esquerda foram perdidos e dois zeros entraram pela direita. Se um 1 for empurrado para fora, essa informação está perdida para sempre.
1.1
Complemento de dois
Até agora os números eram positivos. O complemento de dois 补码 permite que um registrador de 8 bits armazene também números negativos.
No complemento de dois, o bit mais à esquerda (o bit mais significativo 最高有效位, ou MSB) tem um valor posicional negativo:
-128 64 32 16 8 4 2 1
Se o MSB for 0, o número é positivo.
Se o MSB for 1, o número é negativo.
Para tornar um número positivo negativo: escreva o binário positivo, inverter cada bit (0↔1), depois some 1.
Exemplo: tornar $-40$ negativo.
$+40$ = 00101000
inverter os bits = 11010111
somar 1 = 11011000
Então $-40$ = 11011000. Verifique somando os valores posicionais: $-128 + 64 + 16 + 8 = -40$.
O bit mais significativo vale −128, então 11011000 = −128 + 64 + 16 + 8 = −40
Para ler um número no complemento de dois negativo, basta somar os valores posicionais (o MSB conta como $-128$). A faixa de um número de complemento de dois de 8 bits é de $-128$ a $+127$.
1.2
Representação de texto
Programa
Os candidatos devem ser capazes de:
Notas e orientações
1 Entenda como e por que um computador representa texto e o uso de conjuntos de caracteres, incluindo código americano padrão para intercâmbio de informações (ASCII) e Unicode
• O texto é convertido em binário para ser processado por um computador • O Unicode permite uma gama maior de caracteres e símbolos do que o ASCII, incluindo diferentes idiomas e emojis • O Unicode requer mais bits por caractere do que o ASCII
2 Entenda como e por que um computador representa som, incluindo os efeitos da taxa de amostragem e resolução de amostragem
• Uma onda sonora é amostrada para que o som seja convertido em binário, que é processado por um computador • A taxa de amostragem é o número de amostras coletadas em um segundo • A resolução de amostragem é o número de bits por amostra • A precisão da gravação e o tamanho do arquivo aumentam à medida que a taxa de amostragem e a resolução aumentam
3 Entenda como e por que um computador representa uma imagem, incluindo os efeitos da resolução e profundidade de cor
• Uma imagem é uma série de pixels que são convertidos em binário, que é processado por um computador • A resolução é o número de pixels na imagem • A profundidade de cor é o número de bits usados para representar cada cor • O tamanho do arquivo e a qualidade da imagem aumentam à medida que a resolução e a profundidade de cor aumentam
Fonte: Programa Cambridge International
Os computadores armazenam texto atribuindo um número a cada caractere e, em seguida, armazenando esse número em binário. O conjunto de caracteres que um computador pode usar, junto com seus números, é um conjunto de caracteres 字符集.
ASCII usa 7 bits por caractere, portanto possui 128 caracteres diferentes. Isso é suficiente para letras, dígitos e símbolos comuns do inglês.
Unicode usa mais bits por caractere. Pode representar muitos mais caracteres — muitas línguas, além de símbolos e emoji 表情符号.
Como o Unicode tem mais caracteres, ele precisa de mais bits por caractere que o ASCII, então o mesmo texto ocupa mais espaço de armazenamento 存储。
ASCII usa 7 bits para 128 caracteres; Unicode usa mais bits para muito mais caracteres, mas requer mais armazenamento
Uma onda sonora 声波 é suave e está sempre mudando. Para armazená-la, o computador mede a altura da onda em momentos regulares. Isso é chamado de amostragem 采样, e cada medição é uma amostra.
A amostragem registra a altura da onda (amplitude) em momentos regulares
taxa de amostragem 采样率 é o número de amostras coletadas por segundo (medido em Hz).
resolução de amostragem 采样分辨率 é o número de bits usados para cada amostra. A altura da onda em um ponto de amostragem é sua amplitude 振幅。
Uma taxa de amostragem maior e uma resolução de amostragem maior fornecem uma gravação mais precisa, mas resultam em um arquivo maior.
Explorar
Representando som
y = a sin(bt + c)
Som é uma onda; amostragem registra sua altura várias vezes por segundo.
• Incluindo: – bit – nibble – byte – kibibyte (KiB) – mebibyte (MiB) – gibibyte (GiB) – tebibyte (TiB) – pebibyte (PiB) – exbibyte (EiB) • A quantidade da denominação anterior presente no tamanho do armazenamento de dados, ex.: – 8 bits em um byte – 1024 mebibytes em um gibibyte
2 Calcule o tamanho de arquivo de uma imagem e de um áudio, usando informações fornecidas
• As respostas devem ser dadas nas unidades especificadas na questão. Os cálculos devem usar a medida de 1024 e não 1000 • As informações fornecidas podem incluir: – resolução e profundidade de cor da imagem – taxa de amostragem, resolução e duração da faixa de áudio
3 Entenda o propósito e a necessidade de compressão de dados
• A compressão existe para reduzir o tamanho do arquivo • O impacto disso, ex.: – menor largura de banda necessária – menos espaço de armazenamento necessário – tempo de transmissão mais curto
4 Entenda como os arquivos são comprimidos usando métodos de compressão com perda e sem perda
• A compressão com perda reduz o tamanho do arquivo removendo permanentemente dados, ex.: reduzindo a resolução ou profundidade de cor, reduzindo a taxa ou resolução de amostragem • A compressão sem perda reduz o tamanho do arquivo sem perda permanente de dados, ex.: codificação por comprimento de sequência (RLE)
Fonte: Programa Cambridge International
O armazenamento de dados é medido nas unidades abaixo. Um nibble tem 4 bits e um byte tem 8 bits; a partir do kibibyte para cima, cada unidade é 1024 vezes a anterior (porque $1024 = 2^{10}$, que se encaixa no binário).
Unidade
Equivale a
bit
um único 0 ou 1
nibble
4 bits
byte
8 bits
kibibyte (KiB)
1024 bytes
mebibyte (MiB)
1024 KiB
gibibyte (GiB)
1024 MiB
tebibyte (TiB)
1024 GiB
pebibyte (PiB)
1024 TiB
exbibyte (EiB)
1024 PiB
Platos de disco rígido: o armazenamento é medido em bytes — saber o tamanho do arquivo exige largura × altura × profundidade de cor para imagens
Tamanho do arquivo de som (em bits) $=$ taxa de amostragem $\times$ resolução de amostragem $\times$ duração em segundos.
Sempre divida por 1024 (não 1000) para converter para KiB, MiB e assim por diante. Dê sua resposta na unidade solicitada pela questão.
Exemplo resolvido. Um som é gravado por 30 segundos a uma taxa de amostragem de 8,000 Hz com uma resolução de amostra de 16 bits. Encontre o tamanho do arquivo em kibibytes (KiB).
Compactação 压缩 torna um arquivo menor. Um arquivo menor:
ocupa menos espaço de armazenamento,
precisa de menos largura de banda 带宽 (a quantidade de dados que uma conexão pode transportar),
leva menos tempo para ser enviado (um tempo de transmissão 传输 mais curto).
Existem dois tipos.
Compactação sem perdas
Compactação sem perdas 无损 torna o arquivo menor com nenhuma perda permanente de dados. O arquivo original pode ser reconstruído exatamente.
Um método é codificação por comprimento de corrida 行程编码 (RLE). Ela substitui uma sequência de valores repetidos por uma cópia do valor e uma contagem de quantas vezes ele se repete. Por exemplo, WWWWWWWW (8 brancos) é armazenado como "8 W". Isso funciona bem quando os dados têm muitas repetições.
A codificação por comprimento de corrida armazena cada corrida uma única vez como uma contagem e um valor
Compactação com perdas
Compactação com perdas 有损 torna o arquivo muito menor ao remover permanentemente alguns dados. Os dados removidos não podem ser recuperados. Por exemplo:
reduzir a resolução ou profundidade de cor de uma imagem,
reduzir a taxa de amostragem ou a resolução de amostragem de um som.
Use compactação sem perdas quando você precisar manter cada detalhe (arquivos de texto e programas). Use compactação com perdas para fotos, música e vídeo, onde uma pequena perda de qualidade vale um arquivo muito menor.
Explorar
Codificação por comprimento de corrida
Observe símbolos repetidos serem comprimidos numa contagem — compressão sem perdas simples.
1.3
Dicas de prova
Converta decimal → binário subtraindo os valores posicionais (128, 64, 32 …); binário → decimal somando os valores posicionais que contêm um 1.
Para converter para hexadecimal, agrupe o binário em nibbles de 4 bits da direita; cada nibble corresponde exatamente a um dígito hexadecimal.
Overflow acontece quando um resultado precisa de mais bits do que o registrador tem (um registrador de 8 bits armazena apenas 0–255), então o bit extra é perdido.
Tamanho do arquivo em bits: para uma imagem, largura × altura × profundidade de cor; para som, taxa de amostragem × resolução × segundos. Divida por 8 para bytes, depois por 1024 para cada unidade maior.
Compactação sem perdas mantém todos os bits (texto; codificação por comprimento de corrida); compactação com perdas remove dados permanentemente (fotos, música) para um arquivo muito menor.
Aulas interativas sobre este tópico
Passe por ele passo a passo, com exercícios de verificação instantânea.