conv_bin_bcd
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| conv_bin_bcd [2018/03/07 17:35] – admin | conv_bin_bcd [2018/03/07 18:48] (current) – admin | ||
|---|---|---|---|
| Line 86: | Line 86: | ||
| dove y è il risultato da ottenere e c è il valore della cifra meno significativa del numero BCD di partenza. | dove y è il risultato da ottenere e c è il valore della cifra meno significativa del numero BCD di partenza. | ||
| + | |||
| Come è allora evidente, per ottenere la rappresentazione giusta del doppio in BCD nel caso esaminato (numero su due cifre in BCD con la prima cifra 0 e la seconda di valore c) basta operare come segue: | Come è allora evidente, per ottenere la rappresentazione giusta del doppio in BCD nel caso esaminato (numero su due cifre in BCD con la prima cifra 0 e la seconda di valore c) basta operare come segue: | ||
| Line 91: | Line 92: | ||
| * si interpretano i 4 bit dell' | * si interpretano i 4 bit dell' | ||
| * se il numero risultante è minore di 5, si esegue uno shift a sinistra del gruppo di 4 bit | * se il numero risultante è minore di 5, si esegue uno shift a sinistra del gruppo di 4 bit | ||
| - | * se il numero risultante è maggiore o uguale a 5 si esegue in binario naturale l' | + | * se il numero risultante è maggiore o uguale a 5 si esegue in binario naturale l' |
| Resta da vedere se è possibile generalizzare l' | Resta da vedere se è possibile generalizzare l' | ||
| + | |||
| + | Per fare questo immaginiamo che quanto fatto fino ad ora fosse in realtà riferito a un numero rappresentato in BCD su tre cifre con la prima cifra pari a zero, la seconda cifra che svolge il ruolo della seconda cifra nel caso precedente e la terza cifra con valore qualunque. | ||
| + | |||
| + | Ora pensiamo al fatto che moltiplicare per 2 un numero significa sommarlo a se stesso e pensiamo all' | ||
| + | |||
| + | Cosa succede, però, se c' | ||
| + | |||
| + | In definitiva, per ottenere la rappresentazione del doppio di un numero con il numero di partenza e di arrivo rappresentati in BCD si procede come segue: | ||
| + | |||
| + | * si guardano i gruppi di 4 bit di ciascuna cifra come numeri in codifica in binario naturale. | ||
| + | * per ciascun numero (ciascuna cifra), se il valore è maggiore o uguale a 5 si somma 3 (algoritmo di somma in binario naturale) e si sostituiscono i 4 bit risultanti (non ci può essere riporto) a quelli precedenti. | ||
| + | * dopo aver eseguito il punto precedente per tutte le singole cifre, si esegue uno shift a sinistra dell' | ||
| + | * i gruppi di bit allineati a 4 a 4 partendo da sinsitra sono le cifre BCD del numero pari al doppio del numero di partenza. | ||
| + | |||
| + | |||
| + | Queste considerazioni sono alla base dell' | ||
| + | |||
| + | |||
conv_bin_bcd.1520444153.txt.gz · Last modified: by admin
