Você está na página 1de 43

Sistemas Digitais

Aula 03 - Codificação

Professor: Henrique “Mineiro” Foresti


hbf@cesar.school

Tutor: Erick Simões


erick.simoes@cesar.school
@CESAR 2021 | Todos os Direitos Reservados

Resumo: Sistemas de Numeração


Conversão Método

Decimal para Binário Divide por 2 até o quociente for 0. Pegar o resto do final
até o início

Binário para Decimal Multiplica cada número binário pelo valor posicional de 2.
Soma os resultados.

Binário para Hexadecimal Agrupa-se de 4 em 4 bits, converte de acordo com a


tabela de 0 a 9 e A a F.

Hexadecimal para Binário Cada item do número hexadecimal será convertido aos 4
bits correspondentes.
@CESAR 2021 | Todos os Direitos Reservados

Resumo: Sistemas de Numeração


Conversão Método

Hexadecimal para Decimal Multiplicar cada item do número hexa pelo seu valor
posicional na base 16

Decimal para Hexadecimal Dividir o valor por 16 até o quociente ser igual a 0. Colocar
o resto na seguinte ordem: do último resto encontrado
para o primeiro.
Objetivo

Codificação
● Ser capaz de representar informações de forma digital;
● Conhecer as principais formas de representação de dados;
● Realizar operações e conversões entre estas formas.

O que veremos nesta aula Codificação


● ASCII: alfanumérico
● Cores: RGB / RGBA
Codificação @CESAR 2021 | Todos os Direitos Reservados

Sistemas de Numeração são formas de codificação nas quais os valores


(objetos) representados são bem conhecidos:

1 110

10102 1010

0xA 1010

Mas o mundo vai muito além dos números!

Como podemos representar valores, objetos, conceitos quaisquer?


@CESAR 2021 | Todos os Direitos Reservados
Codificação @CESAR 2021 | Todos os Direitos Reservados

Sistemas de Numeração são formas de codificação nas quais os valores


(objetos) representados são bem conhecidos:

1 110

10102 1010

0xA 1010

1010 "A"

0x41 "A"

Mas o mundo vai muito além dos números!

Como podemos representar valores, objetos, conceitos quaisquer?


@CESAR 2021 | Todos os Direitos Reservados

Codificação Binária
Todos os sistemas digitais usam alguma forma de representação binária (0s e 1s), mas o
sistema de numeração binário (base 2) não é a única forma de codificação.

● Tudo pode (e vai) ser representado por bits


○ Números, letras, sinais, cores, etc.
● Veremos apenas alguns exemplos:
○ ASCII e RGB

"Um código binário é um conjunto de N bits usado para


representar dados."

"Melhor representação depende do objetivo!"


@CESAR 2021 | Todos os Direitos Reservados

Codificação
Texto e Cores
Pesquise:
● Texto (character encoding)
a. Como os caracteres são codificados?
b. Quais os principais padrões utilizados em computadores?
c. Explique detalhadamente pelo menos 1.
● Cores (Color space/encoding)
a. Como as cores são codificadas?
b. Quais os principais padrões?
c. Quais são os padrões para telas e para impressão?
d. Explique detalhadamente pelo menos 1.

👩 Resposta individual
⏱ 7 min
@CESAR 2021 | Todos os Direitos Reservados

Codificação de Caracteres
@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
Também precisaremos manipular informações não apenas numéricas:

○ Letras, sinais de pontuação, caracteres especiais e (novamente)


números.
● Como poderíamos definir uma codificação para representar letras,
números e outros caracteres?
● Quais e quantos caracteres e símbolos deveríamos representar?
● Quantos bits seriam necessários?
@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
ASCII (American Standard Code for Information Interchange)

● Serviu de base para a maioria dos padrões de codificação (encoding)


modernos;
● Desenvolvido originalmente (1963) em 7 bits (128 símbolos)
○ 26 maiúsculas, 26 minúsculas, 10 dígitos, 7 sinais de pontuação;
○ Caracteres especiais e símbolos de controle;
● Depois estendido para 8 bits (256 símbolos possíveis).
@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
Como escrever "CESAR" em ASCII?

C E S A R
@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
Como escrever "CESAR" em ASCII?

C E S A R

43 45 53 41 52

"CESAR" = 0x43 0x45 0x53 0x41 0x52


@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
Como escrever "School" em ASCII?

S c h o o l
@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
Como escrever "School" em ASCII?

S c h o o l

53 63 68 6F 6F 6C

"School" = 0x53 0x63 0x68 0x6F 0x6F 0x6C


@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
Como escrever "if (x>3)" em ASCII?
@CESAR 2021 | Todos os Direitos Reservados

Codificação - ASCII
● Unicode
○ 138000 caracteres
● UTF-8 (8-bit Unicode Transformation Format)
● EBCDIC
@CESAR 2021 | Todos os Direitos Reservados

CIFRA DE CÉSAR
Criptografia raiz 🤘
@CESAR 2021 | Todos os Direitos Reservados

A Cifra de César
Muito antes da criptografia ser usada como forma de assegurar a
transmissão de informações pelos meios digitais, ela já era usada por Júlio
César para se comunicar com seus generais (49 a.C. ~ 45 a.C.)

A Cifra de César (ou Troca de César) é um método de criptografia simples


que consiste em substituir cada letra de um texto por outra, n posições.

Exemplo: se a troca for de 3 posições, a letra A é substituída por D, a letra B


é substituída por E e assim sucessivamente.
@CESAR 2021 | Todos os Direitos Reservados

A Cifra de César
Desta forma, uma mensagem como, “sistemas digitais”, ficaria:
“vlvwhpdv gljlwdlv”

Para o caso das últimas letras do alfabeto, elas são substituídas pelas
primeiras, fazendo com que este seja um método de cifra rotativo.

Em um sistema digital isso pode ser


feito convertendo cada caracter para
seu número correspondente,
somasse n (valor da troca) e
converte-se novamente para
caracter.

A descriptografia é feita da mesma


forma, porém, realizando uma
subtração.
@CESAR 2021 | Todos os Direitos Reservados

A Cifra de César
Exercício:

Em dupla, envie uma mensagem criptografada para seu colega. Escolha


um valor n para a troca de posições, implemente (manualmente) o
algoritmo da Cifra de César e envie.

A mensagem que você receber deve ser descriptografada.

👩👩 Atividade em dupla
⏱ 7 min
@CESAR 2021 | Todos os Direitos Reservados

Codificação de Cores
@CESAR 2021 | Todos os Direitos Reservados

Codificação - Cores
Cores também precisam ser representadas por códigos?
● color spaces/encodings

Forma de representação que usa símbolos para representar cores

● Traduzem espaços de cores em representações codificadas digitais


○ HSV, CIE, YPbPr, CMYK, RGB…
@CESAR 2021 | Todos os Direitos Reservados
@CESAR 2021 | Todos os Direitos Reservados

Codificação - Cores
@CESAR 2021 | Todos os Direitos Reservados

Codificação - Cores
@CESAR 2021 | Todos os Direitos Reservados

Codificação - Cores
Uma imagem digital pode ser vista como uma matriz de níveis de cinza,
ou valores de intensidade luminosa.
@CESAR 2021 | Todos os Direitos Reservados

Codificação - em preto e branco


Preto e Branco (1 bit): também conhecido como Bitmap, pois cada pixel é
representado por um único bit. Neste sistema, cada pixel pode assumir o valor 0
(preto) ou 1 (branco).

0 0 0

0 1 1

0 0 0
@CESAR 2021 | Todos os Direitos Reservados

Codificação - em preto e branco


@CESAR 2021 | Todos os Direitos Reservados

Codificação - em escala de cinza


Escala de Cinza (8 bits): sistema que usa 256 níveis de cinza por pixel (ou um byte
por pixel). O valor 0 corresponde ao preto, e o valor 255 ao branco.
@CESAR 2021 | Todos os Direitos Reservados

Codificação - em RGB
RGB (24 bits ou true color): sistema que usa três cores por pixel, permitindo
reproduzir até 16,7 milhões (256x256x256) de cores. Cada cor é representada em 8
bits (1 byte), permitindo 256 níveis ou valores por cor. O valor (0, 0, 0) de R, G e B
equivale ao preto, e o valor (255, 255, 255) de R, G e B equivale ao branco. Estas
três cores são conhecidas como primárias; o sistema é baseado na combinação
da luz emitida por três fontes de luz. Esta combinação é chamada aditiva.
@CESAR 2021 | Todos os Direitos Reservados

Codificação - em RGB/RGBA
Modelo de cores aditivas baseado em luz
● Cores básicas são combinadas de modo a reproduzir um largo
espectro cromático
● Vermelho (Red), o Verde (Green), o Azul (Blue) e o Alfa
(transparência)

Propósito principal é a reprodução de cores em displays


○ Padrão em TVs, browsers e SOs (Android)
@CESAR 2021 | Todos os Direitos Reservados

Codificação - em RGB/RGBA
Utiliza 8 bits para cada cor básica, mais 8 bits para o Alfa
● Quantas cores são possíveis?


● Normalmente, utilizamos o prefixo #:
○ Branco - #
○ Verde - #

○ Amarelo - #
@CESAR 2021 | Todos os Direitos Reservados

Codificação - em RGB/RGBA
Utiliza 8 bits para cada cor básica, mais 8 bits para o Alfa
● Quantas cores são possíveis?
○ 28 * 28 * 28 = 224 = 16.777.216 cores possíveis com RGB
○ 232 = 4.294.967.296 cores possíveis com RGBA
● Normalmente, utilizamos o prefixo #:
○ Branco - #FFFFFF
○ Verde - #00FF00

○ Amarelo - #FFFF00
@CESAR 2021 | Todos os Direitos Reservados

Prática: P&B
Problema:
● Crie um sistema binário de codificação de imagens (matrizes) em
P&B:
a. Quais são os símbolos básicos e o que cada um representa?
b. Quantos bits são necessários por ponto ?
c. Defina uma imagem de 9 pontos (matriz 3x3), sendo o pixel
(ponto) central preto rodeado por pixels brancos.
d. Quantos bits são necessários para armazenar essa imagem ?
e. Dado que essa imagem ocupe 1Kb, quantos pixels tem a
mesma?
f. e se ocupasse 2MB ?
● Refaça o problema considerando 256 tons de cinza.

👩👩👩 Grupo de 3 pessoas


⏱ 20 min
@CESAR 2021 | Todos os Direitos Reservados

Prática: P&B
● Quantos, quais são os símbolos básicos e o que cada um
representa?
○ 2 símbolos 1 1 1
■ 0 - preto
■ 1 - branco 1 0 1

● Quantos bits são necessários por ponto? 1 1 1


○ 2 símbolos, 21 -> 1 bit/pixel

● Defina uma imagem de 9 pixels (matriz 3x3), sendo o pixel (ponto)


central preto rodeado por pixels brancos;
@CESAR 2021 | Todos os Direitos Reservados

Prática: P&B
● Quantos bits são necessários para armazenar esta imagem?
○ 3 x 3 = 9 pixels, sendo que cada pixel pode ter 2 valores apenas
○ Então: 9 pixels * 1 bit/pixel = 9 bits

● Dado que uma imagem ocupa 1Kb, quantos pixels tem a mesma?
○ 1 Kb = 210 bits = 1024 pixels

● E se ocupasse 2MB?
○ 8 bits = 1 B
○ 1 KB = 210 B
○ 1 MB = 210 KB
○ 2 MB = 2 * 210 * 210 * 8 = 16 * 220 pixels = 16.777.219 pixels
@CESAR 2021 | Todos os Direitos Reservados

Prática: Tons de Cinza


● Quantos, quais são os símbolos básicos e o que cada um representa?
○ 0 a 255, sendo 256 níveis de cinza entre:
■ 0 - preto FF FF FF
■ 255 (FF) - branco
FF 00 FF
● Quantos bits são necessários por ponto?
○ 256 cores = 28 -> 8 bits/pixel = 1 Byte/px FF FF FF

● Defina uma imagem de 9 pixels (matriz 3x3), sendo o pixel (ponto)


central preto rodeado por pixels brancos;
@CESAR 2021 | Todos os Direitos Reservados

Prática: Tons de Cinza


● Quantos bits são necessários para armazenar esta imagem?
○ 3 x 3 = 9 pixels, sendo que cada pixel pode ter 256 (28) valores
○ Então: 9 pixels * 8 bits/pixel = 9 bytes ou 72 bits

● Dado que uma imagem ocupa 1Kb, quantos pixels tem a mesma?
○ 1 Kb = 210 bits
○ Porém, 8 bits/px, logo: 210 / 8 = 210 / 23 = 27 pixels = 128 pixels

● E se ocupasse 2MB?
○ 1 B/px
○ 1 KB = 210 B
○ 1 MB = 210 KB
○ 2 MB = 2 * 210 * 210 = 2 * 220 = 2.097.152 pixels
Nos próximos capítulos de
Soma binária
Sistemas
Digitais Quando 1 + 1 = 10?
Pessoas impulsionando inovação.
Inovação impulsionando negócios.

Henrique “Mineiro”
hbf@cesar.school

Erick Simões
erick.simoes@cesar.school

Você também pode gostar