SISTEMAS DIGITAIS SISTEMAS DE NUMERAÇÃO E CÓDIGOS Setembro de 04 H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 2 SUMÁRIO: SISTEMAS DE NUMERAÇÃO DEFINIÇÃO DE SISTEMA DE NUMERAÇÃO EQUIVALENTE DECIMAL OPERAÇÕES ARITMÉTICAS BÁSICAS MUDANÇA DE SISTEMA DE NUMERAÇÃO CÓDIGOS CÓDIGOS BINÁRIOS CÓDIGOS DECIMAIS-BINÁRIOS CÓDIGOS ALFANUMÉRICOS Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 3 DEFINIÇÃO DE SISTEMA DE NUMERAÇÃO POSICIONAL Um sistema de numeração é composto por: Base - b e.g. B = 16 Alfabeto Ordenado - conjunto de b símbolos distintos (dígitos) e.g. [0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F] Número - corresponde a uma sequência de dígitos. e.g. N(b) <> … d2 d1 d0, d-1 d-2 … Valor do Dígito (peso) - função do símb. e da pos. na sequência. e.g. p2 = d2 b2 Exemplo: S.N. : Decimal 2888610 Setembro de 04 Binário 101011102 SISTEMAS DIGITAIS Octal 52708 Hexadecimal A32C16 H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 4 DETERMINAÇÃO DO EQUIVALENTE DECIMAL Equivalente Decimal: Representação no sistema decimal de um número na base b. +∞ N( 10 ) = ∑ dibi = ...+ d2b2 + d1b1 + d0b0 + d−1b−1 + ... −∞ Exemplo: S.N. : Binário 101011102 Decimal (27+ 0 + 25+ 0 + 23 + 22+ 21 + 0)10 S.N. : Hexadecimal A32C16 Setembro de 04 17410 Decimal (10x163 + 3x162+ 2x161 + 12)10 SISTEMAS DIGITAIS 4177210 H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 5 OPERAÇÕES ARITMÉTICAS BÁSICAS Algoritmos em tudo semelhantes ao do sistema decimal, excepto na base utilizada. Exemplo: S.N. : Hexadecimal S.N. : Binário 0110 + 1101 10011 Setembro de 04 10110 x 1101 10110 00000_ 10110__ 10110___ 100011110 SISTEMAS DIGITAIS 5AF1 + B32D 10E1E A24 x 13 1E6C A24_ C0AC H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 6 MUDANÇA DE SISTEMA DE NUMERAÇÃO CONVERSÃO DE BASES ( b1 ≠ 10 para a base b2 = 10 ) A conversão de um número numa base diferente de 10 para a base decimal reduz-se a representar esse número como um polinómio e de seguida determinar o equivalente decimal (ver Determinação do Equivalente Decimal) CONVERSÃO DE BASES ( b1 = 10 para a base b2 ≠ 10 ) A conversão de um número na base 10 para uma base diferente realiza-se em duas fases: (1) A parte inteira é convertida segundo o método das divisões sucessivas. (2) A parte fraccionária é convertida segundo o método das multiplicações sucessivas. Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 7 MUDANÇA DE SISTEMA DE NUMERAÇÃO CONVERSÃO DE BASES (b1 = 10 para a base b2 ≠ 10 ) (cont.) Exemplo: S.N. : Decimal 20,35(10) O número a converter e os quocientes sucessivos são divididos pela base. A sequência de restos constitui o resultado da conversão. Binário 10100,...(2) 20 2 00 10 2 0 5 2 1 2 2 0 1 2 1 0 Hexadecimal 14,...(16) 20 16 4 1 16 1 0 1º resto = dígito menos significativo Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 8 MUDANÇA DE SISTEMA DE NUMERAÇÃO CONVERSÃO DE BASES ( b1 = 10 para a base b2 ≠ 10 ) (cont.) Exemplo: (cont) S.N. : Decimal 20,35(10) Binário 10100,0101...(2) 0,35 X 2 0,70 X 2 1,40 X 2 0,80 X 2 1,60 Setembro de 04 SISTEMAS DIGITAIS Hexadecimal 14,59...(16) 0,35 X 16 210 35_ 5,60 X 16 360 60_ 9,60 H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 9 MUDANÇA DE SISTEMA DE NUMERAÇÃO CONVERSÃO DE BASES ( b1 = 2t para a base b2 = 2 e vice-versa) Atendendo às propriedades das potências facilmente se infere que: (1) Na conversão da base 2t para a base 2, transforma-se cada dígito da base 2t em t bits da base 2. (2) Na conversão da base 2 para a base 2t, transforma-se cada t bits da base 2 num dígito da base 2t. Exemplo: Binário 0001 0100,0101(2) 1 4 , 5 (16) Hexadecimal Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 10 CÓDIGOS BINÁRIOS CÓDIGO BINÁRIO No presente contexto, por código binário, entende-se o código que estabelece a correspondência entre palavras escritas num qualquer sistema de numeração e palavras constituídas por caracteres binários. e.g. 12(10) <> 1100(2) CÓDIGO BINÁRIO NATURAL (CBN) Código ponderado, gerado pelo sistema de numeração de base 2, em que os pesos das colunas são sucessivamente 2n-1, 2n-2, …, 21, 20. CÓDIGO BINÁRIO REFLECTIDO (CBR) ou CÓDIGO DE GRAY Código não ponderado, obtido do CBN por troca de símbolos do alfabeto binário, i.e., na primeira coluna temos 01 10 em vez de 01 01 do CBN, na segunda coluna temos 00 11 11 00 em vez de 00 11 00 11 do CBN etc., daí a designação de CB reflectido. Setembro de 04 SISTEMAS DIGITAIS CBN 0 000 1 001 2 010 011 3 ⇔ 4 100 5 101 6 110 7 111 CBR 000 001 011 010 110 111 101 100 H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 11 CÓDIGOS DECIMAIS-BINÁRIOS CÓDIGO DECIMAL-BINÁRIO Código que estabelece a correspondência directa entre caracteres da palavra constituída por símbolos da base 10 e a sua codificação binária. CÓDIGO BCD (“Binary-Coded Decimal”) O código BCD corresponde ao CBN com N=4. e.g. 12(10) <> 0001 0010 (BCD) Nota: Nas operações aritméticas deve ser introduzido um factor de correcção, 6(10) <> 0110 (BCD), sempre que o resultado seja superior ou igual a 10. Setembro de 04 SISTEMAS DIGITAIS BCD 0 0000 1 0001 2 0010 3 0011 4 0100 ⇔ 5 0101 6 0110 7 0111 8 1000 9 1001 H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 12 CÓDIGOS ALFANUMÉRICOS CÓDIGO ASCII (American Standard Code for Information InterChange): Exemplo de código alfanumérico que permite codificar informação numérica, alfabética e também caracteres de controlo. B4B3B2B1 B7B6B5 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 NUL SOH STX ETX EOT ENQ ACK BEL BS HT DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SP ! " # $ % & ' ( ) 0 1 2 3 4 5 6 7 8 9 @ A B C D E F G H I P Q R S T U V W X Y ` a b c d e f g h i p q r s t u v w x y Setembro de 04 SISTEMAS DIGITAIS A B C LF VT FF SUB ESC FS * + , : ; < J K L Z [ \ j k l z { | D CR GS = M ] m } E F SO SI RS US . / > ? N O ^ _ n o ~ DEL H. Neto, N. Horta SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 13 BIBLIOGRAFIA [1] M. Morris Mano, Charles R. Kime, “Logic and Computer Design Fundamentals”, Prentice-Hall International, Inc. (Capítulo 1, Secções 1.2-1.5) Setembro de 04 SISTEMAS DIGITAIS H. Neto, N. Horta