Buscar

Aula 1 - NI - Mirtha

Prévia do material em texto

Representac¸a˜o de dados
Natureza da Informac¸a˜o
Representac¸a˜o de dados: Bits, co´digos
bina´rios e sistemas de numerac¸a˜o
Equipe de professores de Natureza da Informac¸a˜o
Mirtha L. Ferna´ndez Venero (mirtha.lina@ufabc.edu.br)
setembro 2014
Representac¸a˜o de dados
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
O bit
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
O bit
A informac¸a˜o e sua representac¸a˜o - Bit
Qual e´ a menor quantidade de informac¸a˜o que pode ser
armazenada ou transmitida?
Bit (”BInary digiT”em ingleˆs∗) : 0 ou 1, sim ou na˜o, falso ou
verdadeiro, auseˆncia ou presenc¸a de sinal, i.e., dois
estados/s´ımbolos/fenoˆmenos/situac¸o˜es quaisquer.
Primeira representac¸a˜o f´ısica:
I carta˜o perfurado ou na˜o (inventado por Basile Bouchon e
Jean-Baptiste Falcon-1732, desenvolvido por Joseph Marie
Jacquard-1804, e usado Semen Korsakov, Charles Babbage,
Hermann Hollerith, e ate´ os primeiros computadores da IBM.
∗ Claude E. Shannon (pai da Teoria da Informac¸a˜o) usou o termo bit em 1948 no artigo ”A Mathematical Theory
of Communication”. Ele atribuiu contrac¸a˜o a John W. Tukey, que o tinha escrito um memorando Bell Labs em
1947. Vannevar Bush usou o termo em 1936 associado a` informac¸a˜o armazenada em carto˜es perfurados.
Representac¸a˜o de dados
O bit
Representac¸o˜es f´ısicas do bit
I carta˜o perfurado ou na˜o
I pulso ele´trico curto ou longo (co´digo Morse-1844)
I duas tenso˜es ou n´ıveis de corrente acima ou abaixo de um
n´ıvel padra˜o (lo´gica TTL, 0=0..0,8V e 1=2..5V)
I duas direc¸o˜es de magnetizac¸a˜o (discos magne´ticos)
I dois n´ıveis distintos de intensidade da luz (em fibras o´pticas,
ou em leitores e gravadores de discos o´pticos)
Representac¸a˜o de dados
O bit
Sequeˆncias de bits
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
A informac¸a˜o e sua representac¸a˜o - Byte
Byte (”Binary Term”em ingleˆs, pronuncia-se como bite, para na˜o
confundir com bit): E´ a menor unidade de informac¸a˜o (sequencia
de bits) usada para representar dados.
I No in´ıcio, 1 byte = 7 bits: criado por Werner Buchholz em
1956 para o computador IBM Stretch. Possibilidade de
representar o alfabeto alfanume´rico e caracteres especiais.
Letras Maiu´sculas e Minu´sculas 52
D´ıgitos decimais 10
Sinais de pontuac¸a˜o e outros s´ımbolos 32
Caracteres de controle 24
Total 118 < 27=128
I 1 byte = 8 bits, EBCDIC - Extended Binary Coded Decimal
Interchange Code (1963): Usado e.g. em mainframe IBM
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
1 Byte = 8 bits
I ASCII- American Standard Code for Information Interchange
(1963): 7 bits para codificac¸a˜o e 1 bit de paridade (erro)
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
Unidades de medida de armazenamento da informac¸a˜o
International Electrotechnical Commission (IEC)
1 Byte = 8 bits
1 kilobyte (KB) = 1000 bytes = 103 bytes
1 megabyte (MB) = 1000 kilobytes = 106 bytes
1 gigabyte (GB) = 1000 megabytes = 109 bytes
1 terabyte (TB) = 1000 gigabytes = 1012 bytes
1 petabyte (PB) = 1000 terabytes = 1015 bytes
1 exabyte (EB) = 1000 petabytes = 1018 bytes
1 zettabyte (ZB) = 1000 exabytes = 1021 bytes
1 yottabyte (YB) = 1000 zettabytes = 1024 bytes
Prefixos representando poteˆncias de 10 sa˜o usados pelos
produtores de dispositivos de armazenamento.
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
Medidas usadas no armazenamento da informac¸a˜o
International Electrotechnical Commission (IEC)
1 Byte = 8 bits
1 kibibyte (KiB) = 1024 bytes=210 bytes
1 mebibyte (MiB) = 1024 kibibytes = 220 bytes
1 gibibyte (GiB) = 1024 mebibytes =230 bytes
1 tebibyte (TiB) = 1024 gibibytes =240 bytes
1 pebibyte (PiB) = 1024 tebibytes =250 bytes
1 exbibyte (EiB) = 1024 pebibytes =260 bytes
1 zebibyte (ZiB) = 1024 exbibytes =270 bytes
1 yobibyte (YiB) = 1024 zebibytes =280 bytes
Prefixos representando poteˆncias de 2 sa˜o usados pelas indu´strias
de software e hardware - tambe´m chamados de kilo, mega, giga, ...
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
Medidas usadas no armazenamento da informac¸a˜o
kibi = 210 = 1024 > 1000 = kilo
mebi = 220 = 1 048 576 > 1 000 000 = mega
gibi = 230 = 1 073 741 824 > 1 000 000 000 = giga
tebi = 240 = 1 099 511 627 776 > 1 000 000 000 000 = tera
pebi = 250 = 1 125 899 906 842 624
exbi = 260 = 1 152 921 504 606 846 976
zebi = 270 = 1 180 591 620 717 411 303 424
yobi = 280 = 1 208 925 819 614 629 174 706 176
Brontobyte = 290 = 1 237 940 039 285 380 274 899 124 224
Geopbyte = 2100 = 1 267 650 600 228 229 401 496 703 205 376
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
Proporc¸a˜o 1:1000 ou 1:1024?
A diferenc¸a e´ pequena para os prefixos kilo e mega, pore´m cresce
mais do 20% para o prefixo yotta (crescimento linear-log).
http://en.wikipedia.org/wiki/Byte
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
Proporc¸a˜o 1:1000 ou 1:1024?
Fabricantes de discos r´ıgidos ou de dispositivos SSD usam
1:1000, i.e., 100GB ≈ 93 GiB; 500 GB ≈ 465,66 GiB!
http://en.wikipedia.org/wiki/Byte
Representac¸a˜o de dados
Unidades de medida usadas no armazenamento da informac¸a˜o
Unidades de medida para transmissa˜o da informac¸a˜o
bps = bit por segundo
1 kilobit/s (kbs) = 103 bps
1 megabit/s (mbs) = 106 bps
1 gigabit/s (gbs) = 109 bps
1 terabit/s (tbs) = 1012 bps
1 petabit/s (pbs) = 1015 bps
1 exabit/s (ebs) = 1018 bps
1 zettabit/s (zbs) = 1021 bps
1 yottabit/s (ybs) = 1024 bps
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
A informac¸a˜o e sua representac¸a˜o bina´ria
Qualquer informac¸a˜o pode ser armazenada e transmitida usando
sequeˆncias de bits.
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
Representac¸a˜o bina´ria de texto - ASCII Estendido
I utiliza co´digos > 128 para s´ımbolos gra´ficos e de algumas
l´ınguas diferentes do ingleˆs
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
Representac¸a˜o bina´ria de texto - Unicode
Padra˜o para representac¸a˜o de texto de qualquer sistema de escrita.
IOrigem entre 1986 e 1987, na Xerox para construir uma fonte
para caracteres chineses estendidos.
I Em 1990 IBM participa ativamente e em 1991 e´ fundada a
Unicode Consortium
I Adobe systems, Apple, Google, HP, IBM, Microsoft e Xerox
sa˜o alguns dos membros
I Um dos me´todos de mapeamento, o Unicode Transformation
Format (UTF-8, UTF-16 e UTF-32), oferece co´digos de
largura varia´vel 1, 2 bytes e ate´ 4 bytes
I UTF-8 usado nas distribuic¸o˜es recentes de Linux e UTF-16 e´
usado na API do Microsoft Windows, Java (J2SE 1.5) e .NET
http://www.unicode.org
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
Representac¸a˜o bina´ria de texto - Unicode
I Cobre quase todos os sistemas de escritas em uso atualmente
(ara´bicos, Braille, cir´ılico, asia´ticos, hebraico, matema´tico,
musical, emoticons) e cobrira´ sistemas histo´ricos ou extintos
(etrusco, fen´ıcio, runas).
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
Representac¸a˜o bina´ria de imagens
Pixel∗, pel or picture element: e´ considerado como o menor
componente de uma imagem digital. Os pixels sa˜o normalmente
dispostos numa matriz bidimensional.
Scanners e Impressoras: dpi: dots per inch (pixels por polegadas)
Caˆmeras digitais: Mega pixel = 1 milha˜o de pixels (quantidade
total de pixels na imagem)
∗ Termo usado em 1965 por Frederic C. Billingsley do Jet Propulsion Laboratory - NASA
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
Representac¸a˜o bina´ria de imagens
A codificac¸a˜o de cores, para cada pixel depende da quantidade de
bits (bpp):
I 1 bit ( preto e branco)
I 1 byte (256 tons de cinza)
I 2 bytes (65,536 cores, ”Highcolor”)
I 3 bytes (um byte para cada cor RGB-red green blue,
16,777,216 cores - ”Truecolor”)
Uma imagem GIF (Graphics Interchange Format) pode incluir
va´rios blocos de imagens, cada uma das quais pode ter a sua
pro´pria paleta de 256 cores, e os blocos podem estar lado a lado
para criar uma imagem completa, um gra´fico ou video.
Representac¸a˜o de dados
Representac¸a˜o bina´ria da informac¸a˜o
Representac¸a˜o bina´ria de grandezas f´ısicas
I As grandezas f´ısicas (luz, temperatura, pressa˜o, som, etc) sa˜o
analo´gicas e podem ser digitalizadas usando conversa˜o
analo´gica-digital
Representac¸a˜o de dados
O sistema de numerac¸a˜o bina´rio
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
O sistema de numerac¸a˜o bina´rio
Representac¸a˜o bina´ria de nu´meros
I Sistema de numerac¸a˜o bina´rio (como o decimal) e´ posicional:
peso dos d´ıgitos depende da posic¸a˜o absoluta dentro do nu´mero
I Sistema de numerac¸a˜o romano na˜o e´ posicional: peso dos
d´ıgitos na˜o depende da posic¸a˜o absoluta dentro do nu´mero
Representac¸a˜o de dados
O sistema de numerac¸a˜o bina´rio
Conversa˜o de bina´rio a decimal
I Sistema posicional: base b > 0 e D = {d0, d1, . . . , db−1}
s´ımbolos ou d´ıgitos
I Em geral, a conversa˜o de um sistema nume´rico de base b para
o sistema decimal segue a fo´rmula
(nknk−1 . . . n1n0)b = nk ∗bk+nk−1∗bk−1+. . .+n1∗b1+n0∗b0
Representac¸a˜o de dados
O sistema de numerac¸a˜o bina´rio
Conversa˜o de bina´rio a decimal
I Sistema posicional: base b > 0 e D = {d0, d1, . . . , db−1}
s´ımbolos ou d´ıgitos
I Em geral, a conversa˜o de um sistema nume´rico de base b para
o sistema decimal segue a fo´rmula
(nknk−1 . . . n1n0)b = nk ∗bk+nk−1∗bk−1+. . .+n1∗b1+n0∗b0
Exemplo:
(111001)2 = (1∗25 +1∗24 +1∗23 +0∗22 +0∗21 +1∗20)10 =
(1 ∗ 32 + 1 ∗ 16 + 1 ∗ 8 + 0 ∗ 4 + 0 ∗ 2 + 1 ∗ 1)10 = (57)10
Representac¸a˜o de dados
O sistema de numerac¸a˜o bina´rio
Conversa˜o de decimal a bina´rio
Para passar qualquer nu´mero da base 10 a uma base b, basta
dividir o decimal por b e os quocientes sucessivamente ate´ obter
quociente 0. Os restos (na ordem inversa de obtenc¸a˜o) formam a
representac¸a˜o do nu´mero na base b.
Representac¸a˜o de dados
O sistema de numerac¸a˜o bina´rio
Conversa˜o de decimal a bina´rio
Para passar qualquer nu´mero da base 10 a uma base b, basta
dividir o decimal por b e os quocientes sucessivamente ate´ obter
quociente 0. Os restos (na ordem inversa de obtenc¸a˜o) formam a
representac¸a˜o do nu´mero na base b.
Exemplo:
I 57 / 2 = 28 e resto 1
I 28 / 2 = 14 e resto 0
I 14 / 2 = 7 e resto 0
I 7 / 2 = 3 e resto 1
I 3 / 2 = 1 e resto 1
I 1 / 2 = 0 e resto 1
Portanto (57)10 = (111001)2
Representac¸a˜o de dados
O sistema de numerac¸a˜o bina´rio
Conversa˜o de decimal a bina´rio
Para passar qualquer nu´mero da base 10 a uma base b, basta
dividir o decimal por b e os quocientes sucessivamente ate´ obter
quociente 0. Os restos (na ordem inversa de obtenc¸a˜o) formam a
representac¸a˜o do nu´mero na base b.
Exemplo:
I 57 / 2 = 28 e resto 1 57 / 3 = 19 e resto 0
I 28 / 2 = 14 e resto 0 19 / 3 = 6 e resto 1
I 14 / 2 = 7 e resto 0 6 / 3 = 2 e resto 0
I 7 / 2 = 3 e resto 1 2 / 3 = 0 e resto 2
I 3 / 2 = 1 e resto 1 Portanto (57)10 = (2010)3
I 1 / 2 = 0 e resto 1
Portanto (57)10 = (111001)2
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Outras bases de conversa˜o
Quanto maior a base, menor o tamanho da representac¸a˜o nume´rica
Uma´rio Bina´rio Tercia´rio Octal Decimal Hexadecimal
0 0 0 0 0
1 1 1 1 1 1
11 10 2 2 2 2
111 11 10 3 3 3
1111 100 11 4 4 4
11111 101 12 5 5 5
111111 110 20 6 6 6
1111111 111 21 7 7 7
11111111 1000 22 10 8 8
111111111 1001 100 11 9 9
1111111111 1010 101 12 10 A
11111111111 1011 102 13 11 B
111111111111 1100 110 14 12 C
1111111111111 1101 111 15 13 D
11111111111111 1110 112 16 14 E
111111111111111 1111 120 17 15 F
1111111111111111 10000 121 20 16 10
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Bina´rio, Octal, Decimal ou Hexadecimal?
I inteiros grandes sa˜o dif´ıceis de ler e escrever em bina´rio e e´
muito fa´cil errar ou omitir um bit
I representac¸a˜o octal e hexadecimal sa˜o mais compactas
Bina´rio Octal Decimal Hexadecimal
0 0 0 0
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Conversa˜o entre bases
I Em geral, para converter nu´meros de uma base b para uma
outra base b′ qualquer, o mais pra´tico e´ converter primeiro da
base b para decimal e depois de decimal para b′
I A conversa˜o de bina´rio para bases b = 2k , k > 1 e´ muito
simples: formar grupos de k bits da direita a` esquerda e
converter cada grupo em um d´ıgito na base b
I A conversa˜o de uma base b = 2k , k > 1 para bina´rio tambe´m
e´ muito simples: converter cada d´ıgito na base b em um
nu´mero bina´rio de tamanho k .
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Conversa˜o entre bases
I Em geral, para converter nu´meros de uma base b para uma
outra base b′ qualquer, o mais pra´tico e´ converter primeiro da
base b para decimal e depois de decimal para b′
I A conversa˜o de bina´rio para bases b = 2k , k > 1 e´ muito
simples: formar grupos de k bitsda direita a` esquerda e
converter cada grupo em um d´ıgito na base b
I A conversa˜o de uma base b = 2k , k > 1 para bina´rio tambe´m
e´ muito simples: converter cada d´ıgito na base b em um
nu´mero bina´rio de tamanho k .
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Conversa˜o entre bases
I Em geral, para converter nu´meros de uma base b para uma
outra base b′ qualquer, o mais pra´tico e´ converter primeiro da
base b para decimal e depois de decimal para b′
I A conversa˜o de bina´rio para bases b = 2k , k > 1 e´ muito
simples: formar grupos de k bits da direita a` esquerda e
converter cada grupo em um d´ıgito na base b
(57)10 = (111001)2 = (111 001)2 = (11 1001)2
(57)10 = (111001)2 = ( 7 1 )8 = ( 3 9 )16
I A conversa˜o de uma base b = 2k , k > 1 para bina´rio tambe´m
e´ muito simples: converter cada d´ıgito na base b em um
nu´mero bina´rio de tamanho k .
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Conversa˜o entre bases
I Em geral, para converter nu´meros de uma base b para uma
outra base b′ qualquer, o mais pra´tico e´ converter primeiro da
base b para decimal e depois de decimal para b′
I A conversa˜o de bina´rio para bases b = 2k , k > 1 e´ muito
simples: formar grupos de k bits da direita a` esquerda e
converter cada grupo em um d´ıgito na base b
(110101110001110)2 = (110 101 110 001 110)2 = (65616)8
I A conversa˜o de uma base b = 2k , k > 1 para bina´rio tambe´m
e´ muito simples: converter cada d´ıgito na base b em um
nu´mero bina´rio de tamanho k .
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Conversa˜o entre bases
I Em geral, para converter nu´meros de uma base b para uma
outra base b′ qualquer, o mais pra´tico e´ converter primeiro da
base b para decimal e depois de decimal para b′
I A conversa˜o de bina´rio para bases b = 2k , k > 1 e´ muito
simples: formar grupos de k bits da direita a` esquerda e
converter cada grupo em um d´ıgito na base b
(110101110001110)2 = (110 101 110 001 110)2 = (65616)8
(110101110001110)2 = (110 1011 1000 1110)2 = (6B8E )16
I A conversa˜o de uma base b = 2k , k > 1 para bina´rio tambe´m
e´ muito simples: converter cada d´ıgito na base b em um
nu´mero bina´rio de tamanho k .
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Conversa˜o entre bases
I Em geral, para converter nu´meros de uma base b para uma
outra base b′ qualquer, o mais pra´tico e´ converter primeiro da
base b para decimal e depois de decimal para b′
I A conversa˜o de bina´rio para bases b = 2k , k > 1 e´ muito
simples: formar grupos de k bits da direita a` esquerda e
converter cada grupo em um d´ıgito na base b
I A conversa˜o de uma base b = 2k , k > 1 para bina´rio tambe´m
e´ muito simples: converter cada d´ıgito na base b em um
nu´mero bina´rio de tamanho k .
( 8 5 F A)16 = (1000 0101 1111 1010)2
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Conversa˜o entre bases
I Em geral, para converter nu´meros de uma base b para uma
outra base b′ qualquer, o mais pra´tico e´ converter primeiro da
base b para decimal e depois de decimal para b′
I A conversa˜o de bina´rio para bases b = 2k , k > 1 e´ muito
simples: formar grupos de k bits da direita a` esquerda e
converter cada grupo em um d´ıgito na base b
I A conversa˜o de uma base b = 2k , k > 1 para bina´rio tambe´m
e´ muito simples: converter cada d´ıgito na base b em um
nu´mero bina´rio de tamanho k .
( 8 5 F A)16 = (1000 0101 1111 1010)2
Por que na˜o para decimal?...
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Co´digo BCD - Binary Coded Decimal
Sistema de representac¸a˜o onde cada d´ıgito decimal e´ representado
com seu co´digo bina´rio de 4 bits
BCD Decimal
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
I Melhora a visualizac¸a˜o e conversa˜o dos
valores
I Menos eficiente que o co´digo bina´rio puro
(mais bits para representar o mesmo
nu´mero e padro˜es na˜o usados)
I Operac¸o˜es aritme´ticas em BCD sa˜o mais
complexas
Exemplo: (78634)10 = (0111 1000 0110 0011 0100)BCD
= ( 1 0011 0011 0010 1010)2
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Sistemas de Numerac¸a˜o
I Quanto maior o nu´mero de d´ıgitos, menor o tamanho da
representac¸a˜o nume´rica; pore´m lembrar de todos os d´ıgitos
pode ser dif´ıcil e as operac¸o˜es aritme´ticas ba´sicas sa˜o mais
complicadas
I A base do sistema de numerac¸a˜o na˜o necessariamente tem a
ver com o nu´mero de d´ıgitos
http://www.math.wichita.edu/history/topics/num-sys.html
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Sistema de Numerac¸a˜o da Babiloˆnia
I Sistema posicional de base 60 com 2 s´ımbolos para
representar os d´ıgitos
http://www-history.mcs.st-and.ac.uk/HistTopics/Babylonian_numerals.html
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Sistema de Numerac¸a˜o Maya
I Sistema posicional de base 20 com 3 s´ımbolos para
representar os d´ıgitos
http://www-history.mcs.st-and.ac.uk/HistTopics/Mayan_mathematics.html
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Sistema de Numerac¸a˜o Maya
I Regra de conversa˜o normal
9 ∗ 204 + 8 ∗ 203 + 9 ∗ 202 + 13 ∗ 201 + 0 ∗ 200
I Regra de conversa˜o Maya
9 ∗ 18 ∗ 203 + 8 ∗ 18 ∗ 202 + 9 ∗ 18 ∗ 201 + 13 ∗ 201 + 0 ∗ 200
Representac¸a˜o de dados
Outros sistemas de numerac¸a˜o
Sistema de Numerac¸a˜o Maya
I Regra de conversa˜o normal
9 ∗ 204 + 8 ∗ 203 + 9 ∗ 202 + 13 ∗ 201 + 0 ∗ 200
I Regra de conversa˜o Maya
9 ∗ 18 ∗ 203 + 8 ∗ 18 ∗ 202 + 9 ∗ 18 ∗ 201 + 13 ∗ 201 + 0 ∗ 200
Usada para lidar com o calenda´rio: cada meˆs tinha 20 dias, com 18 meses em um ano e cinco dias no final do ano,
que formavam meˆs em si. Desta forma, os maias tinham inventaram o calenda´rio de 365 dias, que girava em torno
do sistema solar. Usando essa regra e instrumentos rudimentares os Mayas foram capazes de calcular a durac¸a˜o do
ano como 365,242 dias (moderno 365,242198 dias!) e do meˆs lunar como 29,5308 dias (valor moderno 29,53059!)
Representac¸a˜o de dados
O Co´digo de Gray
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
O Co´digo de Gray
Co´digo de Gray
Sistema na˜o posicional bina´rio para inteiros 0 a 2n − 1
I desenhado para buscar transic¸o˜es simples e ra´pidas
I co´digos adjacentes variam exatamente em 1 bit
I c´ıclico; refletido
Desenvolvido pelo pesquisador Frank Gray do Bell Labs em 1947
Representac¸a˜o de dados
O Co´digo de Gray
Conversa˜o entre bina´rio e co´digo de Gray
I O bit mais significativo de ambos co´digos coincidem
I Bina´rio → Gray: De esquerda a direita, calcular a diferenc¸a
em valor absoluto entre cada par de bits adjacentes no co´digo
bina´rio para obter o pro´ximo bit do co´digo Gray
I Gray → Bina´rio: Calcular a diferenc¸a em valor absoluto entre
o bit bina´rio gerado e o bit adjacente no co´digo Gray
Representac¸a˜o de dados
Representac¸a˜o de inteiros negativos
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
Representac¸a˜o de inteiros negativos
Representac¸a˜o bina´ria de inteiros com sinal
Bit mais significativo do nu´mero representa o sinal (0 = +; 1 = -)
1. Sinal + co´digo bina´rio para inteiros positivos:[−2n−1 − 1..2n−1 − 1]
2. Sinal + complemento 1 do co´digo bina´rio para inteiros
positivos: [−2n−1 − 1..2n−1 − 1]
3. Sinal + complemento 2 do co´digo bina´rio para inteiros
positivos: [−2n−1..2n−1 − 1]
Representac¸a˜o de dados
Representac¸a˜o de inteiros negativos
Representac¸a˜o bina´ria de inteiros com sinal
Representac¸a˜o de dados
Representac¸a˜o de inteiros negativos
Representac¸a˜o bina´ria de inteiros com sinal
Bit mais significativo do nu´mero representa o sinal (0 = +; 1 = -)
1. Sinal + co´digo bina´rio para inteiros positivos
I Exemplo: (−5)10 = (1101)2
I Simples, contem o padra˜o −0
2. Sinal + complemento 1 do co´digo bina´rio para inteiros
positivos
3. Sinal + complemento 2 do co´digo bina´rio para inteiros
positivos
Representac¸a˜o de dados
Representac¸a˜o de inteiros negativos
Representac¸a˜o bina´ria de inteiros com sinal
Bit mais significativo do nu´mero representa o sinal (0 = +; 1 = -)
1. Sinal + co´digo bina´rio para inteiros positivos
I Exemplo: (−5)10 = (1101)2
2. Sinal + complemento 1 do co´digo bina´rio para inteiros
positivos: complementa cada bit do inteiro positivo
I Exemplo: (−5)10 = (1010)∼1
I pouco usado, contem o padra˜o −0
3. Sinal + complemento 2 do co´digo bina´rio para inteiros
positivos
Representac¸a˜o de dados
Representac¸a˜o de inteiros negativos
Representac¸a˜o bina´ria de inteiros com sinal
Bit mais significativo do nu´mero representa o sinal (0 = +; 1 = -)
1. Sinal + co´digo bina´rio para inteiros positivos
I Exemplo: (−5)10 = (1101)2
2. Sinal + complemento 1 do co´digo bina´rio para inteiros
positivos
I Exemplo: (−5)10 = (1010)∼1
3. Sinal + complemento 2 do co´digo bina´rio para inteiros
positivos: complementa cada bit do inteiro positivo e soma 1
I Exemplo: (−5)10 = (1011)∼2
I satisfaz k2 + k∼2 = 0
I usado nos computadores pois para va´rias operac¸o˜es aritme´ticas
na˜o e´ preciso checar sinal
Representac¸a˜o de dados
Representac¸a˜o de inteiros negativos
Conversa˜o de bina´rio com sinal a decimal
Bit mais significativo do nu´mero representa o sinal (s), os
restantes n − 1 bits formam a magnitude em decimal
1. Sinal + inteiro positivo:
k10 = (−1)s ∗magnitude
Exemplo: (1101)2 = (−5)10
2. Sinal + complemento 1 do inteiros positivo:
k10 = (−1)s ∗ s ∗ 2n + magnitude + s
Exemplo: (1010)∼1 = (−5)10
3. Sinal + complemento 2 do inteiro positivo:
k10 = (−1)s ∗ s ∗ 2n + magnitude
Exemplo: (1011)∼2 = (−5)10 (Se k2 < 0 enta˜o |k2| = k∼2)
Representac¸a˜o de dados
Representac¸a˜o de nu´meros fraciona´rios
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
Representac¸a˜o de nu´meros fraciona´rios
Conversa˜o de fraciona´rios em base b a decimal
( nknk−1 . . . n1n0 . f1f2 . . . fm−1fm )b =
( nk ∗ bk + nk−1 ∗ bk−1 + . . .+ n1 ∗ b1 + n0 ∗ b0 +
f1 ∗ b−1 + f2 ∗ b−2 + . . .+ fm−1 ∗ b−m+1 + fm ∗ b−m )10
Representac¸a˜o de dados
Representac¸a˜o de nu´meros fraciona´rios
Conversa˜o de fraciona´rios em base b a decimal
( nknk−1 . . . n1n0 . f1f2 . . . fm−1fm )b =
( nk ∗ bk + nk−1 ∗ bk−1 + . . .+ n1 ∗ b1 + n0 ∗ b0 +
f1 ∗ b−1 + f2 ∗ b−2 + . . .+ fm−1 ∗ b−m+1 + fm ∗ b−m )10
Exemplo: (11.01)2 = (1 ∗ 21 + 1 ∗ 20 + 0 ∗ 2−1 + 1 ∗ 2−2)10 =
(1 ∗ 2 + 1 ∗ 1 + 0 ∗ 0.5 + 1 ∗ 0.25)10 = (3.25)10
Representac¸a˜o de dados
Representac¸a˜o de nu´meros fraciona´rios
Conversa˜o de decimal fraciona´rio a bina´rio
Para passar um nu´mero da base 10 menor que 1 a bina´rio, usar
multiplicac¸o˜es sucessivas por 2. A parte inteira e´ desprezada na
nova multiplicac¸a˜o, i.e. processo e´ repetido com a nova parte
fraciona´ria ate´ obter ela ser 0 ou alcanc¸ar o nu´mero desejado de
casas decimais. As partes inteiras (na ordem de obtenc¸a˜o) formam
o nu´mero bina´rio.
Representac¸a˜o de dados
Representac¸a˜o de nu´meros fraciona´rios
Conversa˜o de decimal fraciona´rio a bina´rio
Para passar um nu´mero da base 10 menor que 1 a bina´rio, usar
multiplicac¸o˜es sucessivas por 2. A parte inteira e´ desprezada na
nova multiplicac¸a˜o, i.e. processo e´ repetido com a nova parte
fraciona´ria ate´ obter ela ser 0 ou alcanc¸ar o nu´mero desejado de
casas decimais. As partes inteiras (na ordem de obtenc¸a˜o) formam
o nu´mero bina´rio.
Exemplo:
I 0.3125 * 2 = 0.625
I 0.625 * 2 = 1.25
I 0.25 * 2 = 0.5
I 0.5 * 2 = 1.0
Portanto (0.3125)10 = (0.0101)2
Representac¸a˜o de dados
Representac¸a˜o de nu´meros fraciona´rios
Representac¸a˜o de nu´meros inteiros e fraciona´rios longos
I Nu´meros irracionais devem ser truncados, em qualquer base
que sejam representados e.g.
pi = 3.141592653589793238462643...,
e = 2.718281828459045235360287...,√
2 = 1.414213562373095048801688..., etc
I Um nu´mero racional pode ter uma representac¸a˜o finita numa
base e infinita em outra, e.g. 13 = (0.333333333333...)10,
1
10 = (0.1)10 = (0.000 1100 1100 1100 1100 1100...)2
I Em bina´rio, qualquer racional com um denominador que tenha
um fator primo diferente de 2 tera´ uma expansa˜o bina´ria
infinita. Isto e´, apenas racionais com denominadores poteˆncias
de 2 (e.g. 564 ) tera˜o representac¸a˜o finita.
Representac¸a˜o de dados
Representac¸a˜o de nu´meros fraciona´rios
Representac¸a˜o em ponto flutuante
I Permite representar inteiros muito grandes∗ ou reais usando a
mesma quantidade de bits, e.g. 3886089 ∗ 103 e
3886089 ∗ 10−13
Precisa˜o Expoente Mantissa Total bits
Simples 8 23 32
Dupla 11 52 64
Estendida 15 64 80
I Operac¸o˜es em ponto flutuante na˜o sa˜o exatas, e.g.
dependendo da precisa˜o (0.1)2 pode na˜o ser igual a 0.01
∗ Um nu´mero de ponto flutuante de precisa˜o simples pode substituir um nu´mero bina´rio inteiro de 129 bits.
Representac¸a˜o de dados
Refereˆncias Bibliogra´ficas
Outline
O bit
Unidades de medida usadas no armazenamento da informac¸a˜o
Representac¸a˜o bina´ria da informac¸a˜o
O sistema de numerac¸a˜o bina´rio
Outros sistemas de numerac¸a˜o
O Co´digo de Gray
Representac¸a˜o de inteiros negativos
Representac¸a˜o de nu´meros fraciona´rios
Refereˆncias Bibliogra´ficas
Representac¸a˜o de dados
Refereˆncias Bibliogra´ficas
Bibliografia recomendada
1. Thomas L. Floyd, Sistemas digitais: fundamentos e
aplicac¸o˜es. 9 ed. Porto Alegre: Bookman, 2007, cap´ıtulo 2.
2. Notas de curso e Listas de exerc´ıcios: disponibilizadas dia
apo´s cada aula em http://tidia-ae.ufabc.edu.br,
NI-Mirtha-2014, sec¸a˜o Reposito´rio
	O bit
	Unidades de medida usadas no armazenamento da informação
	Representação binária da informação
	O sistema de numeração binário
	Outros sistemas de numeração
	O Código de Gray
	Representação de inteiros negativos
	Representação de números fracionários
	Referências Bibliográficas

Continue navegando