[Calcolo Discreto]Parte intera delle radici quadrate
Volendo implementare il calcolo della radici quadrate in un ambito discreto, esiste un algoritmo che permetta di calcolare la parte intera della radice utilizzando solo operazioni elementari come addizioni e sottrazioni?
grazie
grazie
Risposte
C'è un modo abbastanza interessante di determinare la radice quadrata di un numero mediante la soluzione di alcune equazioni diofantee. La soluzione è una frazione che approssima la radice quadrata, inoltre c'è quell'algoritmo che ti insegnano alle scuole superiori su come calcolarla "a mano"... a breve ti dò anche qualche hint in più e magari una traccia.
ok, l'obbiettivo è riuscire a implementare la radice quadrata a livello hardware di un elaboratore, quindi utilizzare moltiplicazioni e divisioni è abbastanza complesso a questo livello.
cosa intendi con "livello hardware"?
intendo componenti standard e fili di rame più memoria e registri.
io proverei così: contatore (che si incrementa) e decoder, l'uscita del decoder viene elevata al quadrato e la sua uscita viene comparata con il tuo valore: quando il primo valore supera il secondo hai finito, nel senso che il valore che aveva il contatore prima dell'ultimo incremento è la parte intera della tua radice. può funzionare?
"itpareid":
io proverei così: contatore (che si incrementa) e decoder, l'uscita del decoder viene elevata al quadrato e la sua uscita viene comparata con il tuo valore: quando il primo valore supera il secondo hai finito, nel senso che il valore che aveva il contatore prima dell'ultimo incremento è la parte intera della tua radice. può funzionare?
implementare moltiplicazioni che non siano in base binaria è abbastanza complesso inoltre calcolcolando così viene fuori un radice molto approssimata.
bè l'uscita del decoder è digitale, poi l'hai chiesta te la parte intera della radice...