Domanda

Sto lavorando a una calcolatrice che consente di eseguire calcoli oltre il punto decimale in ottale, esadecimale, binario e ovviamente decimale. Sto riscontrando problemi nel trovare un modo per convertire i numeri decimali in virgola mobile in virgola mobile esadecimali, ottali, binari e viceversa.

Il piano è di fare tutti i calcoli in decimale e quindi convertire il risultato nel sistema numerico appropriato. Qualsiasi aiuto, idea o esempio sarebbe apprezzato.

Grazie!

È stato utile?

Soluzione

Hmm ... questo era un compito a casa nella mia università " erbaccia " corso.

Le operazioni per il binario sono descritte in Schaum's Outline Series: Essential Computer Mathematics di Seymour Lipschutz. Per qualche motivo è ancora sulla mia libreria 23 anni dopo.

Come suggerimento, converti ottale ed esadecimale in binario, esegui le operazioni, converti nuovamente in binario.

Oppure puoi eseguire operazioni decimali ed eseguire successivamente le conversioni in ottale / esadecimale / binario. Il processo è essenzialmente lo stesso per tutti i sistemi numerici posizionali aritmetici.

Altri suggerimenti

Quale linguaggio di programmazione stai usando? è sicuramente una buona idea cambiare tutto in binario, fare la matematica sul binario e riconvertirlo. se moltiplichi un numero binario (non normale) per 2, ti è uguale a Bit Shift Left (< < 1 in C), una divisione per 2 è uguale a Bit shit Right ( > > in C). l'addizione e la sottrazione sono le stesse che faresti nella scuola elementare.

inoltre, ricorda che se lanci un float come int lo troncerà int (10.5) = 10;

Ho avuto lo stesso problema qualche giorno fa. Ho trovato http://www.binaryconvert.com , che ti consente di convertire tra virgola mobile decimale, binario, ottale ed esadecimale in qualsiasi ordine tu voglia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top