Pergunta

Eu estou trabalhando em uma calculadora que permite realizar cálculos após o ponto decimal em octal, hexadecimal, binário, e, claro, decimal. Estou tendo problemas que encontrar uma maneira de converter números de ponto flutuante decimais a flutuar hexadecimal ponto, octal, binário e vice-versa.

O plano é fazer toda a matemática em decimal e, em seguida, converter o resultado para o sistema número apropriado. Qualquer ajuda, idéias ou exemplos seria apreciada.

Obrigado!

Foi útil?

Solução

Hmm ... isso foi uma lição de casa no minha CS da universidade "erva daninha-out" é claro.

As operações de binário são descritos em Contorno Série Schaum: Essencial Matemática Computador por Seymour Lipschutz. Por alguma razão ele ainda está na minha estante 23 anos mais tarde.

Como uma dica, convertido octal e hexadecimal para binário, execute as operações, converter de volta para binário.

Ou você pode executar operações decimais e executar as conversões para octal / hexadecimal / binário depois. O processo é essencialmente o mesmo para todos os sistemas numéricos posicionais aritméticas.

Outras dicas

O linguagem de programação você está usando? é definitivamente uma boa idéia para mudar tudo em binário fazer as contas sobre o binário, em seguida, converter de volta. Se você multiplicar um (não assinados) número binário por 2, ti é o mesmo como uma mudança Bit Esquerda (<< 1 em C), uma divisão por 2 é o mesmo que um Bit merda (>> em C). adição e subtração é o mesmo que você faria na escola primária.

Além disso, lembre-se que se você lançar uma bóia como um int será truncado que int (10,5) = 10;

Eu tive esse mesmo problema há alguns dias. Eu encontrei http://www.binaryconvert.com , que lhe permite converter entre decimal de ponto flutuante, binário, octal, e hexadecimal em qualquer ordem desejada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top