


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
In dettaglio come i numeri sono rappresentati all'interno dei computer, concentrandosi sul sistema binario e sull'aritmetica floating point. Vengono esaminati i concetti di numeri macchina, la rappresentazione di interi e reali, e le limitazioni imposte dalla lunghezza della parola. Inoltre, vengono discussi gli errori di arrotondamento, la precisione di macchina e la complessità degli algoritmi, fornendo una panoramica completa delle sfide e delle soluzioni nella computazione numerica. Una solida base per comprendere le fondamenta dell'informatica e l'importanza della precisione nei calcoli numerici.
Tipologia: Sbobinature
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



Il calcolo numerico, o analisi numerica, è una branca della matematica applicata che risolve i modelli prodotti dall’analisi matematica. Esso fornisce procedure di calcolo (algoritmi numerici) che consentono di individuare con l’uso del computer la soluzione di un problema, eventualmente in forma approssimata. Quando si usa un computer per fare calcoli scientifici, è importante conoscere il modo con cui la macchina rappresenta i numeri. Nel computer i numeri sono rappresentati usando il sistema binario, cioè come una sequenza di bit che possono assumere i valori 0 o 1. A ogni numero viene riservato uno spazio di memoria capace di contenere un particolare numero di bit, detto parola. La gamma di numeri macchina che si può rappresentare nel computer dipende dalla lunghezza della parola. Se L è la lunghezza della parola nel computer si possono rappresentare soltanto quei numeri la cui rappresentazione binaria è costituita da un numero di bit minore o uguale a L: questi sono chiamati numeri macchina. La rappresentazione dei numeri interi Numeri interi: con parole di lunghezza L si possono rappresentare tutti gli interi compresi nell’intervallo [ - 2 L-^1 , +2L-^1 - 1] (il - 1 all’esponente rappresenta il bit che perdiamo per rappresentare il segno del numero, mentre il - 1 indica il fatto che è possibile rappresentare anche lo 0). Per il computer i numeri al di fuori dell’intervallo rappresentabile semplicemente non esistono; esempio: se a un computer con parola di 16 bit si chiede di eseguire la somma 2L-^1 - 1 +1, il risultato sarà un overflow, il computer non può rappresentare interamente il numero. Ogni computer può quindi rappresentare soltanto un sottoinsieme finito di Z dei numeri relativi; gli interi del sottoinsieme sono però rappresentati in modo esatto, mentre i numeri reali, i quali hanno generalmente un numero infinito di decimali, il computer è in grado di rappresentarli solo in modo approssimato. La rappresentazione dei numeri reali Qualsiasi numero reale x si può scrivere: x = a·βE, dove a è un numero reale, β è la base di numerazione usata, ed E che è un numero intero dotato di segno. Questa rappresentazione detta floating point non è univoca; in informatica si usa come rappresentazione univoca quella dei numeri floating point normalizzati, in cui il fattore a ha la parte intera costituita da un’unica cifra diversa da 0. La rappresentazione dei numeri floating point normalizzati *x = (–1)s(a 1 a 2 a 3 ... an) ·βE
La singola precisione In singola precisione vengono riservati 4 byte di memoria ovvero 32 bit di cui:
La difficoltà dei problemi La difficoltà di un problema è determinata dalla rapidità di crescita della funzione argomento di O per il più efficiente algoritmo risolutivo del problema. Per i problemi difficili l’algoritmo risolutivo più efficiente ha come argomento di O() una funzione che cresce rapidamente con n. I problemi in cui il tempo di calcolo per la soluzione aumenta al crescere di n come una potenza di n, sono detti di classe P (polinomiale); i problemi come quelli della fattorizzazione sono invece detti di classe NP (non-deterministic polynomial). Caratteristica cifratura RSA: estrema difficoltà del problema e l’estrema facilità del problema inverso. VALUTAZIONE DEL TEMPO DI CALCOLO DI UN ALGORITMO Per ottenere una valutazione affidabile della complessità di un algoritmo misuriamo il tempo di calcolo in numero di operazioni necessarie per fornire risultati, e chiamiamo questo numero costo dell’algoritmo. Per valutare il costo di un algoritmo sulla base del numero di operazioni che l’algoritmo deve svolgere per produrre i risultati finali, andiamo a valutare il costo delle singole istruzioni introducendo alcune regole di valutazione: