MC102, Aula 2 – Bases Numéricas Prof.: Fábio Augusto Menocci Cappabianco O que é uma base numérica? Conjunto de algarismos para representação de numerais. Ex. base decimal possui os algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Bases numéricas na computação Na computação além da base decimal, frequentemente utilizamse as bases: Binária: Octal: Algarismos: 0, 1. Algarismos: 0, 1, 2, 3, 4, 5, 6, 7 Hexadecimal Algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Porque utilizar estas bases? Números representados por conjunto de sinais elétricos que podem assumir valores lógicos 0 ou 1. E as bases octal e hexadecimal? Facilitam a escrita e compreenção de números em uma base mais próxima da binária. Ex. Ao invés de “11100010” em binário escrever “E2” em hexadecimal ou “342” em octal. Como converter de decimal para binário? Divisões sucessivas por 2 pegando o resto da divisão até atingir 0. Ex.11 em decimal: 11/2 5/2 2/2 1/2 = = = = 5, 2, 1, 0, resto resto resto resto 1 1 0 1 Resultado de restos de baixo para cima: “1011” Conversão de binário para decimal Somar potências de 2 sucessivas multiplicadas por algarismos do número binário. Ex. 11001 em binário. 20*1 + 21*0 + 22*0 + 23*1 + 24*1 = 25 Obs. O número na base binária é escrito na forma: Um zero seguido da letra 'b' e o número. Ex. 3 = 0b0011 Conversão de decimal para octal Divisões sucessivas por 8 pegando o resto da divisão até atingir 0. Ex.103 em decimal: 103/8 = 12, resto 7 12/8 = 1, resto 4 1/8 = 0, resto 1 Resultado de restos de baixo para cima: “147” Conversão de octal para decimal Somar potências de 8 sucessivas multiplicadas por algarismos do número ocatal. Ex. 1234 em octal. 80*4 + 81*3 + 82*2 + 83*1 = 668 Obs. O número na base octal é escrito na forma: Um zero seguido da letra 'o' e o número. Ex. 515 = 0o1003 Conversão de decimal para hexadecimal Divisões sucessivas por 16 pegando o resto da divisão até atingir 0. Os restos acima de 9 devem ser convertidos para os algarismos A, B, C, D, E, F. Ex.500 em hexadecimal: 500/16 = 31, resto 4 31/16 = 1, resto 15 => converte para F 1/16 = 0, resto 1 Resultado de restos de baixo para cima: “1F4” Conversão de hexadecimal para decimal Somar potências de 16 sucessivas multiplicadas por algarismos do número hexadecimal. Os algarismos de letras devem ser convertidos para decimal. Ex. 1EF em hexadecial. 160*15(F) + 161*14(E) + 162*1 = 495 Obs. O número na base hexadecimal é escrito na forma: Um zero seguido da letra 'x' e o número. Ex. 51F5 = 0x51F5 Exercícios Converta os seguintes números para binário, octal e hexadecimal: 1, 12, 37, 63, 64, 124, 333. Deduza a regra de conversão de binário para hexadecimal, octal para hexadecimal e vice-versa. Converta os seguintes números abaixo para as outras bases vistas: 0b11010, 0b11111, 0o132, 0o345, 0x1E3