Assembly/Rappresentazione dati/Operazioni aritmetiche: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
 
Riga 128:
Si moltiplica per ogni termine del moltiplicatore, a partire da destra, tutti i termini del moltiplicando, spostando per ciascun termine del primo di una cifra a sinistra. Alla fine si sommano i risultati.
 
{{Avanzamento|100%|22 luglio 2015}}
==Divisione binaria==
Questa è la più difficile delle operazioni binarie. Per prima cosa, bisogna capire, che in binario, non esistono cifre dopo la virgola. Quindi deve essere sempre una divisione esatta.
Line 137 ⟶ 138:
* Si trasforma il risultato in binario.
 
In alternativa si può procedere col "vero e proprio" metodo, più complicato
Questo è l'unico metodo che io conosca per effettuare questo tipo di divisione.
 
Ovviamente è possibile anche sottrarre ripetutamente al dividendo il divisore finché non diventa inferiore ad esso, e contare il numero di sottrazioni eseguite.
Si provi a dividere 93 per 13.
Trascriviamoli in binario, togliendo gli zeri più a sinistra:
101 1101
1101
 
1011101 | 1101
| -----
 
Si procede così: si prendono tante cifre del dividendo a partire da sinistra quante sono quelle del divisore (4). Si scrivano sotto quelle cifre il divisore. Se il divisore è più grande di quelle quattro cifre si scrive uno 0 nel quoto e si fa scendere un'altra cifra, altrimenti, come si farebbe per una normale divisione decimale, si faccia la sottrazione. Poi, si fa scendere una cifra e così via:
 
<pre>
1011101 | 1101
| -----
10111 | 0111
- 1101 |
10100 |
- 1101 |
1111 |
- 1101 |
10
</pre>
Si è ottenuto 111 (7) di quoto e 10 (2) di resto. Infatti 93/13 = 7; 13 * 7 = 91; 91 + 2 = 93
 
==Addizione esadecimale==