Baixe o app para aproveitar ainda mais
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
Compartilhar