# Sistemi di numerazione

Un sistema di numerazione è un insieme di simboli e regole atti a dar luogo ad una codifica numerica, in altre parole esso serve a produrre una sequenza di caratteri che abbia una corrispondenza biunivoca con la grandezza numerica da rappresentare. Tutti gli innumerevoli metodi che l'uomo ha escogitato per rappresentare graficamente i numeri, di per sè entità astratte, possono essere classificati per i nostri fini in:
* sistemi non posizionali
* sistemi posizionali
Un esempio di sistema di numerazione posizionale è quello romano, nel quale le regole per il calcolo del valore corrispondente ad una data sequenza di simboli dipendono dalla posizione nella sequenza stessa. Ad esempio i numeri romani $IX$ e $XI$ hanno valori diversi, rispettivamente 9 e 11, nonostante siano stati ottenuti utilizzando gli stessi simboli grafici, la stessa cosa si verifica per 19 e 91 che pure sono ottenuti con gli stessi simboli grafici ed hanno valore 'diciannove' e 'novantuno'. Nel primo caso infatti, il numero rappresentato si ottiene sottraendo al simbolo $X$ (10) il simbolo $I$ (1) scritto alla sua sinistra, nel secondo invece, gli stessi due valori anziché essere sottratti vengono sommati solo perché è cambiato il loro ordine di rappresentazione. Vien da se che un simile algoritmo di codifica numerica richiede meccanismi alquanto complessi e macchinosi allorché si abbia la necessità di effettuare delle operazioni matematiche con i numeri rappresentati.
Questo tipo di difficolta viene superata con l'introduzione dei sistemi posizionali...

### La rappresentazione polinomiale

sia definita la base b con la quale vogliamo rappresentare i nostri numeri:
    $b\in \mathbb {N} ^{+}\ e\ b>0$
sia c una generica cifra del nostro numero tale che:
    $c\in \mathbb {N} ^{+}\ e\ c\in [0\dots b-1]$
un qualsiasi numero positivo n di N cifre: può essere rappresentato tramite:
    $n=\sum _{i=0}^{N}c_{i}b^{i}=c_{0}b^{0}+c_{1}b^{1}+\dots +c_{i}b^{i}+\dots +c_{N-1}b^{N-1}+c_{N-1}b^{N-1}$
il numero minimo N di cifre necessario per rappresentare n in base b è dato da:
    $N\geq \log _{b}n\qquad con\ n,N\in \mathbb {N} ^{+}\ e\ n>0$

### Il Sistema Binario

Il sistema binario si basa su due valori, sintetizzati in 1 e 0. Tuttavia possono essere immaginati anche come
ecc...

### Il sistema Ottale

Il sistema ottale è basato su 8 simboli, solitamente sono 0,1,2,3,4,5,6,7 Questo sistema veniva utilizzato in alcuni calcolatori, oramai caduti in disuso.

### Il sistema Esadecimale

Il sistema esadecimale è basato su 16 simboli: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Questo sistema viene utilizzato molto spesso, ad ogni simbolo esadecimale corrispondono esattamente 4 bits.

### Conversione di un numero da un sistema posizionale ad un altro

La conversione da un sistema ad un altro è molto semplice. Per il passaggio da decimale ad altri sistemi basta dividere il numero X per le cifre massime del sistema utilizzato eppoi invertire l'ordine dei resti. Ad esempio da Decimale(base 10) a Binario(base 2)
ora dall'ultimo resto in sù; l'equivalente di 20(10) è 10100(2)
Stessa cosa per altri sistemi come quello esadecimale (base 16)
l'equivalente di 20(10) sarà 14(16)
_____________________________
La conversione da un altro sistema a decimale è possibile in questo modo: partendo dalle ultime cifre a destra si moltiplica quel numero per la base del sistema di numerazione utilizzato elevato alla distanza dal primo numero; poi i risultati, sommati, daranno l'equivalente in decimale.
Esempio: $10100(2)=1*(2)^{4}+0*(2)^{3}+1*(2)^{2}+0*(2)^{1}+0*(2)^{0}=16+0+4+0+0=20(10)$
_____________________________ Come abbiamo visto prima un numero può essere riscritto in forma polinomiale:
    $n=\sum _{i=0}^{N}c_{i}b^{i}=c_{0}b^{0}+c_{1}b^{1}+\dots +c_{i}b^{i}+\dots +c_{N-1}b^{N-1}+c_{N-1}b^{N-1}$