|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
C'è modo di effettuare una divisione per 2 usando solo addizione e/o sottrazione?
Ciao a tutti.
Svolgevo qualche appello di Calcolatori Elettronici, così giusto per esercitarmi per l'esame ormai vicinissimo.. quando inciampo in un problema in cui un passo consiste di far dividere un numero (ovviamente dopo alcune altre richieste) per 2... voi a questo punto direte: "Embè? dov'è il problema?" Il problema sta nel fatto che dobbiamo sfruttare un'architettura di riferimento che utilizza una ALU (Unità Aritmetica Logica) che sa fare solo somma e sottrazione... ora una variante di quella traccia è che al posto della divisione per 2, c'è la moltiplicazione per 2... qui il problema è risolvibile.. perchè la moltiplicazione si può ricondurre ad una serie di somme.. quindi nel mio caso basto che sommo 2 volte il numero.. ma per la divisione? esiste qualcosa di analogo alla moltiplicazione? se si.. a me sfugge proprio... chi mi da una mano? Grazie
__________________
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jan 2004
Città: La Spezia
Messaggi: 11264
|
Re: C'è modo di effettuare una divisione per 2 usando solo addizione e/o sottrazione?
Quote:
Ad esempio, se l'operazione iniziale fosse 8:2, farei 8-1=7+7=14 7-1=6+6=12 6-1=5+5=10 5-1=4+4=8
__________________
Ciao Leo, vivrai per sempre nei nostri cuori. 13 novembre 2008: da oggi in cielo brilla una nuova stella. 2 aprile 2005, ore 21:37 - Il Papa torna a casa. - Clan dei nonni di HWU - Milan clan HWU Uomo avvisato... LEGGETE TUTTI - 22 luglio 2009: Benvenuto Matteo!
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Roma
Messaggi: 614
|
Basta effettuare sottrazioni successive e contare quante ne fai esempio:
14 - 2 12 - 2 10 - 2 8 - 2 6 - 2 4 - 2 2 - 2 0 contate sono 7 e infatti 14/2 fa 7
__________________
...What you know that you time is close at hand, maybe then you'll begin to understand, life down there is just a strange illusion. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
Quote:
Ecco La soluzione!!!! Grazie mille!!
__________________
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2000
Città: S.Giuliano (MI)
Messaggi: 1047
|
Re: C'è modo di effettuare una divisione per 2 usando solo addizione e/o sottrazione?
Quote:
__________________
“No te tomes tan en serio la vida, al fin y al cabo no saldrás vivo de ella” |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2000
Messaggi: 2111
|
Re: Re: C'è modo di effettuare una divisione per 2 usando solo addizione e/o sottrazione?
Quote:
__________________
Su WIKISERIAL -> Lost | Heroes | The Big Bang Theory | Fringe | The Mentalist | Terminator TSCC Vuoi comprare una nuova pelliccia? QUI trovi un vasto assortimento (**V.M.18**) Segui una DIETA equilibrata:Il Mondo Di Soraya. Pinocchio era un bambino vero…prima di conoscere Chuck Norris. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Brescia
Messaggi: 402
|
come funziona con lo shift? altrimenti io farei la procedura descritta da andrea
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Mar 2000
Messaggi: 2111
|
Quote:
Ad esempio: 1010 (BIN) = 10 (DEC) 101 (BIN) = 5 (DEC)
__________________
Su WIKISERIAL -> Lost | Heroes | The Big Bang Theory | Fringe | The Mentalist | Terminator TSCC Vuoi comprare una nuova pelliccia? QUI trovi un vasto assortimento (**V.M.18**) Segui una DIETA equilibrata:Il Mondo Di Soraya. Pinocchio era un bambino vero…prima di conoscere Chuck Norris. |
|
|
|
|
|
|
#9 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
A pensarci bene, la soluzione sta proprio nell'usare uno shift...
Pensaci un attimo: tu hai un numero x>=0 che puoi scrivere come 2y+z, con z che è o 0 o 1, e vuoi trovare y. Pensa al problema inverso: tu hai y e z, e vuoi calcolare x=2y+z. Allora che fai? Attacchi uno 0 in fondo a y, il che in base 2 è lo stesso che raddoppiarlo, e poi aggiungi z; oppure, semplicemente, attacchi z in fondo a y. Ma allora, per trovare y a partire da x, basta togliere la cifra z: e questo si fa con uno shift di una posizione verso destra. (Se x<0, basta che cambi segno, dividi per 2 col sistema di prima, e cambi di nuovo segno.)
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
Quote:
e chi ci aveva pensato allo shift.. comunque l'ALU che dobbiamo prendere di riferimento lo dovrebbe avere, ma io purtroppo me ne ero completamente dimenticato... Vabbè meglio ricordarselo prima dell'esame e non dopo Grazie davvero...
__________________
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Brescia
Messaggi: 402
|
Figo lo Shift.... non ci avevo mai pensato!!
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
scusate ma lo shift nn dovrebbe essere proprio l'operazione di divisione e moltiplicazione???
se l'autore del treahd ha detto che la alu nn sa fare divisione e moltiplicazione nn dovrebbe avere lo shift!!!
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Oct 2003
Città: Pisa/Cosenza
Messaggi: 1364
|
Quote:
e comunque lo shift è la div e la mul per 2.. non in generale! Per esempio dividere per 3 è impossibile con uno shift..
__________________
|
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
Quote:
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Mar 2000
Messaggi: 2111
|
Non è che l'ALU deve avere uno shift, nell'architettura deve essere presente uno shift register in modo da poter traslare i bit.
__________________
Su WIKISERIAL -> Lost | Heroes | The Big Bang Theory | Fringe | The Mentalist | Terminator TSCC Vuoi comprare una nuova pelliccia? QUI trovi un vasto assortimento (**V.M.18**) Segui una DIETA equilibrata:Il Mondo Di Soraya. Pinocchio era un bambino vero…prima di conoscere Chuck Norris. |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Brescia
Messaggi: 402
|
che ALU usi?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:55.



















