Aula 2 - Sistemas de Numeração Marcos Guerine Universidade Federal Fluminense mguerine@ic.uff.br
História Contagem de animais, intuitiva Um, dois e muitos Contagem através de pedras Numeração escrita através de marcações em madeiras e outros objetos Primeiro sistema de numeração escrita 3500 ac Símbolos 1, 10, 100, 1000. (354, soma de três 100, cinco 10 e quatro 1) 2 / 24
História Representação de números através de letras (sistema romano) 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 442 era representado como sendo quinhentos menos cem, mais cinquenta menos dez, mais um, mais um 3 / 24
Conceitos básicos 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) 4 / 24
Sistema Decimal Analogia com a quantidade de dedos da mão Base 10 Existem dez algarismos (0, 1, 2, 3,..., 8, 9) Os demais são composições desses algarismos 123 é 3x10 0 + 2x10 1 + 1x10 3 Sistema decimal é mais comum de ser empregado. Exceções: dúzia 5 / 24
Analogamente - Sistema de base b Base b Existem b algarismos Os demais são composições desses algarismos 6 / 24
Bases Clássicas de Numeração Base é a quantidade de algarismos disponíveis em um dado sistema de numeração 2, 8, 10, 16 A posição ocupada por um algarismo altera o seu valor de uma potência da base 7 / 24
Base Binária Sistemas de Numeração 2 símbolos para representar os números (1011) 2 = 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 1 x 2 0 = (11) 10 Aritmética decimal no computador: para representar os números precisariam de 10 componentes Presença ou ausência de eletricidade (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 8 / 24
Bases Octal e Hexadecimal Base binária não tão fácil de visualizar 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 9 / 24
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) 10 / 24
Representação de informação Sistemas de Numeração 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 11 / 24
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. 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 12 / 24
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 octal equivalente. Ex: (001111110101) 2 = (0011)(1111)(0101) = (3)(F)(5) = (3F5) 16 13 / 24
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 14 / 24
Exercícios 10100101101 2 = ( ) 16 = ( ) 8 5FB7 16 = ( ) 2 = ( ) 8 74325 8 = ( ) 2 = ( ) 16 1234 8 = ( ) 16 FA46 16 = ( ) 8 15 / 24
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 / 24
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 / 24
Exercícios 1001101 2 = ( ) 10 FB7 16 = ( ) 10 = ( ) 2 5341 8 = ( ) 10 A46 16 = ( ) 10 = ( ) 8 1234 8 = ( ) 10 = ( ) 16 18 / 24
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 19 / 24
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 20 / 24
Exercícios 0,1101 2 = ( ) 10 0,25 10 = ( ) 2 0,125 10 = ( ) 2 0,8 10 = ( ) 2 21 / 24
Próxima aula: Como representar números negativos? Usar bit para representar o sinal. Problemas? Como é a soma e subtração? 22 / 24
Créditos Material baseado nas aulas dos Profs Cristina Boeres e Marcos Quinet 23 / 24
Aula 2 - Sistemas de Numeração Marcos Guerine Universidade Federal Fluminense mguerine@ic.uff.br