Aula 2 - Sistemas de Numeração Marcos A. Guerine Instituto de Computação - UFF mguerine@ic.uff.br
História Contagem e controle de rebanhos Noção de quantidade intuitiva; Um, dois e muitos Montes de pedras para identificar os animais Origem da palavra cálculo (calculus, do latim). 2 / 29
História Numeração escrita através de marcações em madeiras e outros objetos Primeiro sistema de numeração escrita 3500 ac Símbolos para 1, 10, 100, 1000. (354, soma de três 100, cinco 10 e quatro 1) 3 / 29
História Sistemas de Numeração Sistema Romano/Hebraico: Representação de números através de letras I, V, X, L, C, D, M - (1, 5, 10, 50, 100, 500, 1000) Além da soma, utiliza a diferença para representar os números VII(7) era representado por cinco mais dois CDXLII(442) era representado como sendo quinhentos menos cem, mais cinquenta menos dez, mais um, mais um 4 / 29
Conceitos básicos Diferenças entre: Número, numeral e algarismo 5 / 29
Conceitos básicos Diferenças entre: Número, numeral e algarismo Número - representação da quantidade (5 == V == IIIII) Numeral - nome dos números (um, dois, primeiro,...) Algarismo - símbolo que os representa (1, 3, X, L) A distinção entre esses termos é importante para que se evite confusão, pois mesmos dígitos podem ter valor numérico diferente 6 / 29
Sistema Decimal - Base 10 Analogia com a quantidade de dedos da mão Existem dez dígitos (0, 1, 2, 3,..., 8, 9) Os demais são composições desses algarismos 123 é 3x10 0 + 2x10 1 + 1x10 2 a n 10 n + a n 1 10 n 1 + a n 2 10 n 2 +... + a 2 10 2 + a 1 10 + a 0 Sistema decimal é empregado quase que universalmente Mas existem outros sistemas de numeração que usamos diariamente (dia, hora, minuto, dúzia) 7 / 29
Analogamente - Sistema de base b Base b Existem b algarismos Os demais são composições desses algarismos 8 / 29
Bases Clássicas de Numeração Binária(2), Octal(8), Decimal(10), Hexadecimal(16) Base é a quantidade de algarismos disponíveis em um dado sistema de numeração Notação posicional: A posição ocupada por um algarismo altera o seu valor de uma potência da base 9 / 29
Base Binária Sistemas de Numeração 2 símbolos para representar os números: 0 e 1 (1011) 2 = 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 1 x 2 0 = (11) 10 Se utulizassem aritmética decimal no computador: seriam necessárias 10 componentes para representar os números Com a base binária, utilizam-se dois componentes - Presença ou ausência de corrente elétrica (Perfeita para computadores) 1 2 0 1 10 2 1 2 100 2 2 4 1000 2 3 8 10000 2 4 16 100000 2 5 32 1000000 2 6 64 10000000 2 7 128 100000000 2 8 256 1000000000 2 9 512 10000000000 2 10 1024 10 / 29
Bases Octal e Hexadecimal Quanto menor a base, mais dígitos são necessários e pior a visualização. Solução: trabalhar com bases que utilizem a potência de 2; as mais utilizadas são octal (2 3 ) e hexadecimal (2 4 ). Octal Oito algarismos para representação; um algarismo octal representa 3 bits. 0 1 2 3 4 5 6 7 Hexadecimal Dezesseis algarismos para representação; um algarismo hexadecimal representa 4 bits. 0 1 2 3 4 5 6 7 8 9 A B C D E F 11 / 29
Representação de informação As bases binária, octal e hexadecimal podem parecer um conceito totalmente novo, mas não são. Sua formação e comportamento funcionam exatamente como na base decimal - a lógica de construção é exatamente a mesma. São um conjunto de símbolos ou algarismos associados a uma certa quantidade. Quando a quantidade a ser representada excede o número de algarismos, começamos a combiná-los, seguindo um critério estabelecido pela notação posicional. (sua posição determina uma potência da base) 12 / 29
Decimal Binário Hexadecimal Octal 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 8 10 9 1001 9 11 10 1010 A 12 11 1011 B 13 12 1100 C 14 13 1101 D 15 14 1110 E 16 15 1111 F 17 13 / 29
Conversão entre bases Como comparar números em bases distintas? 14 / 29
Conversão entre bases Como comparar números em bases distintas? Inviável! Para fazer a comparação, os números devem estar na mesma base. 15 / 29
Conversão de uma base b qualquer para base 10 Dado o número a n a n 1...a 1 a 0 Sua representação na base 10 é a n b n + a n 1 b n 1 +... + a 1 b 1 + a 1 b 0 Ex: (0101) 2 = 0 x 2 3 + 1 x 2 2 + 0 x 2 1 + 1 x 2 0 = (5) 10 (6437) 8 = 6 x 8 3 + 4 x 8 2 + 3 x 8 1 + 7 x 8 0 = 3072 + 256 + 24 + 7 = (3359) 10 (5F3) 16 = 5 x 16 2 + 15 x 16 1 + 3 x 16 0 = 1280 + 240 + 3 = (1523) 10 16 / 29
Conversão da base 10 para uma base b qualquer Dado o número p = a n a n 1...a 1 a 0 na base 10 Sua representação na base b é feita da seguinte maneira Dividir p pela base b, até que o quociente seja zero Os algarismos que irão representar p na base b serão os restos obtidos nas divisões do passo anterior Prova! 17 / 29
Exercícios 1001101 2 = ( ) 10 FB7 16 = ( ) 10 5341 8 = ( ) 10 A46 16 = ( ) 10 1234 8 = ( ) 10 18 / 29
Conversão binário-octal 1 algarismo octal representa 3 algarismos binários Deve-se separar os bits de um número binário em grupos de 3 bits Converter cada um destes grupos para o algarismo octal equivalente. Ex: (001111110101) 2 = (001)(111)(110)(101) = (1) (7) (6) (5) = (1765) 8 19 / 29
Conversão binário-hexadecimal Analogamente 1 algarismo hexadecimal representa 4 algarismos binários Deve-se separar os bits de um número binário em grupos de 4 bits Converter cada um destes grupos para o algarismo hexa equivalente. Ex: (001111110101) 2 = (0011)(1111)(0101) = (3)(F)(5) = (3F5) 16 20 / 29
Conversão entre bases Para as conversões inversas (octal-binário e hexadecimal-binário) basta, para cada algarismo, obter a representação em binário, respeitando a ordem posicional. Importante! Sempre utilizar a respectiva quantidade de bits nas conversões (3 para octal, 4 para hexadecimal) Ex (errado): (3F5) 16 = (11) 2 (1111) 2 (101) 2 = 111111101 = (1FD) 16 Ex (certo): (3F5) 16 = (0011) 2 (1111) 2 (0101) 2 = 001111110101 = (3F5) 16 21 / 29
Exercícios 10100101101 2 = ( ) 16 = ( ) 8 5FB7 16 = ( ) 2 = ( ) 8 74325 8 = ( ) 2 = ( ) 16 1234 8 = ( ) 16 FA46 16 = ( ) 8 22 / 29
Conversão de números fracionários Sistemas de Numeração E se o número a ser representado não for inteiro? Dado o número p = 0, 7265625, como representá-lo? Multiplicar p pela base b, enquanto a parte fracionária for diferente de zero Os algarismos que irão representar p na base b serão os inteiros obtidos nas multiplicações do passo anterior 23 / 29
Conversão de números fracionários Sistemas de Numeração E se o número a ser representado não for inteiro? Dado o número p = 0, 7265625, como representá-lo? Multiplicar p pela base b, enquanto a parte fracionária for diferente de zero Os algarismos que irão representar p na base b serão os inteiros obtidos nas multiplicações do passo anterior Exemplo: 0,7265625 x 2 = 1,453125 > a 1 =1 0,453125 x 2 = 0,90625 > a 2 =0 0,90625 x 2 = 1,8125 > a 3 =1 0,8125 x 2 = 1,625 > a 4 =1 0,625 x 2 = 1,25 > a 5 =1 0,25 x 2 = 0,5 > a 6 =0 0,5 x 2 = 1,0 > a 7 =1 0,7265625=(0,1011101)2 24 / 29
Exercícios 0,1101 2 = ( ) 10 0,25 10 = ( ) 2 0,125 10 = ( ) 2 0,8 10 = ( ) 2 25 / 29
Próxima aula: Como representar números negativos? 26 / 29
Próxima aula: Como representar números negativos? Usar bit para representar o sinal. Problemas? Como é a soma e subtração? 27 / 29
Créditos Material baseado nas aulas dos Profs Cristina Boeres e Marcos Quinet 28 / 29
Aula 2 - Sistemas de Numeração Marcos A. Guerine Instituto de Computação - UFF mguerine@ic.uff.br