# Arrotondamento

L'arrotondamento consiste nel ridurre il numero delle cifre significative con cui si rappresenta una quantità.

## Tipologia

Esistono diversi modi per arrotondare:
* Con l'arrotondamento per difetto (o troncamento), ci si limita ad eliminare le cifre successive
* Con l'arrotondamento per eccesso, al risultato del troncamento si aggiunge una quantità pari ad una unità dell'ultima cifra conservata.
L'arrotondamento vero e proprio consiste nel prendere, tra i due valori precedenti, quello più prossimo al valore originale.
Nel caso in cui il valore originale sia equidistante dall'arrotondamento per difetto e da quello per eccesso (p.e.: 13,65 o 13,75 con arrotondamento a tre cifre, o al primo decimale), si può scegliere se arrotondare sempre per difetto o per eccesso, oppure si può scegliere come arrotondare in base alla parità della penultima cifra decimale del numero (ad esempio, se è pari per difetto, se è dispari per eccesso); con quest'ultimo accorgimento, si preserva l'equilibrio statistico tra i due arrotondamenti.

## Esposizione formale

Dato un numero reale $x$ in base $\beta$, secondo il teorema di rappresentazione in base, lo possiamo rappresentare come:
    $x=\operatorname {sgn} (x)m\beta ^{p}$
Dove la mantissa $m$ è:
    $m=\sum _{i=1}^{\infty }c_{i}\beta ^{-i}$
In caso di troncamento il numero di cifre $c_{i}$ utilizzabili è limitato, quindi l'estremo superiore della sommatoria non sarà più $\infty$ ma un intero $t>0$. A questo punto il numero $x$ è rappresentato come:
    $x\approx \operatorname {sgn} (x)\beta ^{p}\sum _{i=1}^{t}c_{i}\beta ^{-i}$
Per effettuare l'arrotondamento, alla (t+1)-esima cifra si somma $\beta /2$:
    $x\approx \operatorname {sgn} (x)\beta ^{p}\left(\left({\frac {\beta }{2}}+c_{(t+1)}\right)\beta ^{-(t+1)}+\sum _{i=1}^{t}c_{i}\beta ^{-i}\right)$
Su questo valore, infine, si applica un semplice troncamento.

### Esempi

Data la base $\beta =10\ {\mbox{ e }}\ t=4$:
* $\alpha =16,7345$; rappresentando con t+1 cifre e aggiungendo β/2: $\alpha \approx 16,734+0,005=16,739$; infine, troncando: $\alpha \approx 16,73$
* $\alpha =23,7374$; rappresentando con t+1 cifre e aggiungendo β/2: $\alpha \approx 23,737+0,005=23,742$; infine, troncando: $\alpha \approx 23,74$

### Avvertenze

Come appare dall'esposizione qui sopra, tra il numero originale e quello arrotondato ci sono delle differenze, ovvero è stato introdotto un errore di arrotondamento.
Inoltre, questo è un calcolo semplificato da applicare con cautela su insiemi di valori da trattare statisticamente; ciò perché introduce un errore sistematico di arrotondamento per eccesso, non applicando la regola dell'arrotondamento al pari ai numeri originali le cui cifre eliminate sono costituite da sequenze costituite da un 5 seguito da soli zeri.

## Arrotondamento dei risultati di una misura

Alcune regole di base:
* Se la cifra da scartare è inferiore a 5, si lascia inalterata la cifra precedente (più significativa). Così V = 15,12215768234 diventerà V = 15,12
* Se la cifra da scartare è 5 seguito da altri decimali o maggiore di 5, si incrementa di 1 la cifra precedente (più significativa). Così V = 15,12815768234 diventerà V = 15,13
* Se la cifra da scartare è 5 seguito da zeri (nessun'altra cifra meno significativa) si effettua una correzione su base statistica: se la cifra precedente il 5 è pari si arrotonda in difetto altrimenti si arrotonda in eccesso. Così V = 15,1350000 diventerà V = 15,14 (poiché il 5 è preceduto da un numero dispari, che viene aumentato di un'unità) mentre se V = 15,1450000 diventerà V = 15,14 (poiché il 5 è preceduto da un numero pari, che rimane inalterato).

## Altre funzioni di arrotondamento e troncamento

Nella teoria e nei programmi di calcolo per matematici o altri ricercatori si usano varie funzioni di arrotondamento.

### Arrotondamento o troncamento ad un numero intero

Le funzioni che arrotondano o troncano all'intero sono:
* Floor(x)
* Ceiling(x)
* Trunc(x, n)
Sono usate nei programmi dai matematici o da altri ricercatori.
    Le funzioni floor e ceiling arrotondano un numero reale x ad un numero intero senza troncamento. In particolare floor(x) = $\lfloor x\rfloor$ è il maggiore intero minore o uguale a x mentre ceiling(x) = $\lceil x\rceil$ è il minore intero maggiore o uguale a x.. Il troncamento, il cui simbolo di funzione è in genere Trunc(x,n) elimina, taglia, semplicemente gli ultimi n decimali senza modificare le cifre rimanenti. Per ottener un intero si eliminano tutti i decimali. L'intero non viene modificato

### Altri metodi di arrotondamento

I metodi di arrotondamento dipendono dai vincoli e dagli obiettivi prefissi.

#### IEEE 754

Nello standard IEEE 754 la funzione usata ha varie denominazioni: arrotondamento convergente, arrotondamento statistico (da non confondere con arrotondamento stocastico), arrotondamento olandese, arrotondamento gaussiano, arrotondamento finanziario, in inglese anche odd-even rounding o unbiased rounding.