Sistemas de Numeração - Conversão (PDF)

Summary

Este documento discute a conversão de números naturais e racionais entre diferentes bases numéricas, incluindo as bases 2, 8, 10 e 16. Abrange métodos para conversão de números inteiros e fracionários, com exemplos apresentados para ilustrar os procedimentos.

Full Transcript

Sistemas de Numeração conversão de naturais e racionais (bases 2, 8, 10 e 16) Prof. Mário Calha [email protected] Conversão de qualquer base...

Sistemas de Numeração conversão de naturais e racionais (bases 2, 8, 10 e 16) Prof. Mário Calha [email protected] Conversão de qualquer base posicional para a base 10 ¤ Conversões 2, 8, 16 → 10 o Naturais  representação de um nº natural N na base b N = (am-1... a2 a1 a0) b  conversão de N para a base 10 N10 = am-1 × bm-1 +... + a2 × b2 + a1 × b1 + a0 × b0 o Racionais  podem ter parte inteira e parte fracionária  representação de um nº racional Q na base b Q = (am-1... a1 a0 , a-1 … a-n) b  conversão de Q para a base 10 Q10 = am-1 × bm-1 +... + a1 × b1 + a0 × b0 + a-1 × b-1 + … + a-n × b-n UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 2 Exemplo 2 → 10 ¤ Converter 1101,112 para a base decimal Decimal Binário Octal Hex 0 0000 0 0 1 0001 1 1 o Base de partida é binária logo b = 2 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 o Usando a equação de conversão resulta em: 6 0110 6 6 7 0111 7 7 8 1000 10 8 1x23 + 1x22 + 0x21 + 1x20 + 1x2-1 + 1x2-2 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C = 8 + 4 + 0 + 1 + 0,5 + 0,25 13 1101 15 D 14 1110 16 E 15 1111 17 F = 13,7510 16 … 10000 … 20 … 10 … 31 11111 37 1F 32 100000 40 20 … … … … UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 3 Conversão da base 10 para qualquer base posicional ¤ Conversões 10 → b (2, 8, 16) o Métodos complementares para conversão de um número N10  Parte inteira de N: Divisões sucessivas Divide-se a parte inteira de N pela base b e obtém-se como resto da divisão o numeral a0 na base b. O cociente da divisão passa a ser o próximo N que será dividido pela base b obtendo-se o numeral a1 na base b. E assim sucessivamente, obtendo-se no final os numerais a0, a1, a2, … am-1 na base b.  Parte fracionária de N: Multiplicações sucessivas Multiplicando a parte fracionária de N pela base b obtém-se como parte inteira do produto o numeral a-1 na base b. A parte fracionária do produto passa a ser o próximo N que será multiplicado pela base b obtendo-se o numeral a-2 na base b. E assim sucessivamente, obtendo-se no final os numerais a-1, a-2, … a-n na base b.  Combinando os dois resultados obtém-se o valor final na base b. UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 4 Exemplo 10 → 2 Cociente Resto da Numeral ¤ Exemplo: 1492,2510 → (?,?)2 divisão por 2 o Parte inteira 1492 0 a0 746 0 a1  149210 = 101110101002 373 1 a2 186 0 a3 o Parte fracionária 93 1 a4  0,2510 = 0,012 46 0 a5 23 1 a6 11 1 a7 Multiplicando Parte inteira Numeral do produto 5 1 a8 0,25 0 a-1 2 0 a9 0,5 1 a-2 1 1 a10 0 - - 0 - - o Combinando os resultados  1492,2510 = 10111010100,012 UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 5 Conversão da base 10 para qualquer base posicional ¤ Conversões 10 → b (2, 8, 16) o Método alternativo às divisões e multiplicações sucessivas  Parte inteira e fracionária de N: Diferenças Subtrai-se sucessivamente de N o maior termo do intervalo [am-1 × bm-1 , a-n × b-n] não superior a N. O resultado será (am-1... a1 a0 , a-1 … a-n) b onde os algarismos correspondentes às potências de b que não foram subtraídos terão o valor zero.  Exemplo: 2510 → ?2 25 – 1 × 24 = 9 (a4 = 1) 9 – 1 × 23 = 1 (a3 = 1) 1 – 1 × 20 = 0 (a0 = 1) Resultado = 110012 UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 6 Conversão entre base 2 e octal/hexadecimal ¤ Conversões 2 → 8, 16 o Conversão por grupos de 4, ou 3, bits a partir da vírgula  Juntar zeros à esquerda da vírgula, ou à direita da vírgula, sempre que necessário para completar conjuntos o Cada conjunto de bits, tanto à esquerda como à direita da vírgula, é convertido independentemente dos restantes. ¤ Conversões 8, 16 → 2 o Cada algarismo na base 8, ou base 16, é substituído diretamente pela sua representação em binário usando, respetivamente, 3 bits, ou 4 bits, por cada algarismo ¤ Estas bases são muito usadas em informática porque simplificam, para os humanos, a escrita e leitura de bytes o ex: dados armazenados em memória ou transmitidos UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 7 Exemplos 2 → 8 e 2 → 16 ¤ Converter 1011100110101011,012 Decimal Binário Octal Hex para octal e hexadecimal 0 0000 0 0 o a partir da vírgula, agrupar os bits em 1 2 0001 0010 1 2 1 2 conjuntos de 3, ou 4, bits e então 3 0011 3 3 4 0100 4 4 converter cada conjunto individualmente 5 0101 5 5 6 0110 6 6 Octal 1 3 4 6 5 3 , 2 7 0111 7 7 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 8 1000 10 8 9 1001 11 9 10 1010 12 A Binário 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 , 0 1 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 15 1111 17 F Hexadecimal B 9 A B , 4 16 10000 20 10 … … … … ¤ Resultados 31 11111 37 1F o Octal = 134653,28 32 … 100000 … 40 … 20 … o Hexadecimal = B9AB,416 UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 8 Representação computacional de números naturais em C e Java ¤ Escrita de números naturais em várias bases o Decimal: 123 Octal: 0123 Hexadecimal: 0x123 o Binário: não está disponível (usar hexadecimal) ¤ A reserva de espaço de memória (variáveis) obriga à definição do nº de bits a reservar o 8 bits: unsigned char o 16 bits: unsigned short int o 32 bits: unsigned int ou unsigned long o 64 bits: unsigned long long ¤ O qualificador unsigned indica que o programa deve tratar o valor armazenado na variável como um número natural ¤ Exemplo: unsigned short int var_natural = 0xABC; UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 9 Jogos didáticos ¤ Cisco binary game o https://learningcontent.cisco.com/games/binary/index.html ¤ Binary Blitz o https://games.penjee.com/binary-numbers-game/ ¤ Hexadecimal Bee o https://dev.wisc-online.com/arcade/games/computer- science/foundational-it-skills/2169/hexadecimal-bee-game ¤ Flippy bit and the attack of the hexadecimals from base 16 o https://flippybitandtheattackofthehexadecimalsfrombase16.com/ UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 10 Questões teóricas ¤ Responder às questões de aula no Moodle UL.FC.LEI.ASC – Mário Calha Sistemas de Numeração - conversão entre bases 11

Use Quizgecko on...
Browser
Browser