Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

Conversão de numeração decimal


Como os sistemas de numeração octal e hexadecimal têm bases que são múltiplos de binários (base 2), a conversão para frente e para trás entre hexadecimal ou octal e binário é muito fácil.

Além disso, como estamos tão familiarizados com o sistema decimal, converter a forma binária, octal ou hexadecimal em decimal é relativamente fácil (basta somar os produtos dos valores cifrados e dos pesos locais).

No entanto, a conversão de decimal para qualquer um desses sistemas de numeração “estranhos” é uma questão diferente.


Método de teste e ajuste


O método que provavelmente fará mais sentido é o método de “tentativa e ajuste”, em que você tenta “ajustar” a notação binária, octal ou hexadecimal ao valor desejado, representado na forma decimal.

Por exemplo, digamos que eu quisesse representar o valor decimal de 87 na forma binária. Vamos começar desenhando um campo de número binário, completo com valores de peso local:







Bem, sabemos que não teremos um bit “1” no lugar de 128, porque isso nos daria imediatamente um valor maior que 87.

No entanto, como o próximo peso à direita (64) é menor que 87, sabemos que devemos ter um “1” ali.







Se também fizéssemos do próximo lugar à direita um “1”, nosso valor total seria 64 10 + 32 10 , ou 96 10 . Isso é maior que 87 10 , então sabemos que este bit deve ser um “0”.

Se tornarmos o próximo bit de posição (16) igual a “1,” isso traz nosso valor total para 64 10 + 16 10 ou 80 10 , que está mais próximo do nosso valor desejado (87 10 ) sem exceder:







Ao continuar nesta progressão, definindo cada bit de menor peso conforme precisamos chegar ao nosso valor total desejado sem excedê-lo, chegaremos eventualmente ao número correto:




Método de teste e ajuste em octal e hexadecimal


Essa estratégia de teste e ajuste também funcionará com conversões octal e hexadecimal. Vamos usar o mesmo número decimal, 87 10 , e convertê-lo em numeração octal:







Se colocarmos uma cifra de “1” no lugar de 64, teremos um valor total de 64 10 (menos de 87 10 ) Se colocarmos uma cifra de “2” no lugar de 64, teremos um valor total de 128 10 (maior que 87 10 ) Isso nos diz que nossa numeração octal deve começar com um “1” no lugar de 64:







Agora, precisamos experimentar com valores de cifra no lugar de 8 para tentar obter um valor total (decimal) o mais próximo possível de 87 sem excedê-lo. Tentando as primeiras opções de criptografia, obtemos:







Um valor de cifra de “3” no lugar de 8 nos colocaria acima do total desejado de 87 10 , então é “2”!







Claro, se você prestou atenção durante a última seção sobre conversões octal / binárias, perceberá que podemos usar a representação binária de (decimal) 87 10 , que previamente determinamos ser 1010111 2 , e converter facilmente para octal para verificar nosso trabalho:







Podemos fazer a conversão de decimal em hexadecimal da mesma maneira? Claro, mas quem iria querer? Este método é simples de entender, mas trabalhoso de executar.

Existe outra maneira de fazer essas conversões, que é essencialmente a mesma (matematicamente), mas mais fácil de realizar.


Técnica de divisão de repetição


Este outro método usa ciclos repetidos de divisão (usando notação decimal) para quebrar a numeração decimal em múltiplos de valores binários, octais ou hexadecimais de peso de posição.

No primeiro ciclo de divisão, pegamos o número decimal original e o dividimos pela base do sistema de numeração para o qual estamos convertendo (binário =2 octal =8, hex =16).

Então, pegamos a parte do número inteiro do resultado da divisão (quociente) e dividimos pelo valor base novamente, e assim por diante, até terminarmos com um quociente menor que 1.

Os dígitos binários, octais ou hexadecimais são determinados pelos “restos” deixados por cada etapa de divisão. Vamos ver como isso funciona para binários, com o exemplo decimal de 87 10 :







Os bits binários são montados a partir do restante das etapas de divisão sucessivas, começando com o LSB e prosseguindo para o MSB. Neste caso, chegamos a uma notação binária de 1010111 2 .

Quando dividimos por 2, sempre obteremos um quociente terminando em ".0" ou ".5", ou seja, um resto de 0 ou 1. Como foi dito antes, esta técnica de divisão de repetição para conversão funcionará para numeração sistemas diferentes de binários.

Se tivéssemos de realizar divisões sucessivas usando um número diferente, como 8 para conversão em octal, necessariamente obteríamos restos entre 0 e 7. Vamos tentar isso com o mesmo número decimal, 87 10 :







Também podemos usar uma técnica semelhante para converter sistemas de numeração que lidam com quantidades menores que 1.

Para converter um número decimal menor que 1 em binário, octal ou hexadecimal, usamos multiplicação repetida, tomando a parte inteira do produto em cada etapa como o próximo dígito do nosso número convertido.

Vamos usar o número decimal 0,8125 10 por exemplo, convertendo para binário:







Tal como acontece com o processo de divisão de repetição para inteiros, cada etapa nos dá o próximo dígito (ou bit) mais longe do "ponto".

Com inteiro (divisão), trabalhamos do LSB para o MSB (da direita para a esquerda), mas com a multiplicação repetida, trabalhamos da esquerda para a direita.

Para converter um número decimal maior que 1, com um componente <1, devemos usar ambos técnicas, uma de cada vez. Pegue o exemplo decimal de 54.40625 10 , convertendo para binário:









PLANILHAS RELACIONADAS:

Tecnologia industrial

  1. Sistemas de numeração
  2. Numeração decimal versus binária
  3. Numeração octal e hexadecimal
  4. Números versus numeração
  5. Conversões de prefixo métrico
  6. Conversão de tipo C#
  7. Números Python, Conversão de Tipos e Matemática
  8. As cadeias de suprimentos dos EUA podem ser salvas de ataques cibernéticos?
  9. C# - Conversão de tipo
  10. Dobradiças para piano da Monroe Engineering