Digitalizzazione dei numeri
Numeri naturali
Basi per rappresentare numeri
Binaria
0 1
Ad es duecentocinquanta = 0011111010 in base 2
Decimale
0 1 2 3 4 5 6 7 8 9
Ad es duecentocinquanta = 250 in base 10
Esadecimale
0 1 2 3 4 5 6 7 8 9 B A C D E F
Ad es duecentocinquanta = FA in base 16
Per convertire un numero da binario a decimale si usa la formula: N10=dn*2^n + d(n1)*2^(n1) +
... + d1*2^1 + d0*2^0
Ad esempio 1001=1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 9
Algoritmo di conversione (decimale in esadecimale)
X: numero da convertire
B: base in cui convertire
|
Q=X (assegnamento)
N=0 (contatore)
| |
Q==0 si stop Q=quoziente_di(Q/B)
| |
no R = resto_di(Q/B) convertire R in RB mettere R in posizione N incrementare N di 1
Conversione da Esadecimale in decimale
Moltiplico ogni cifra per le potenze della base 16. Ad es 4F= 4*16^1 + F*16^0 = 4*16 + 15*1 =79
Conversione da Esadecimale in binario
Sostituisco ogni cifra Esadecimale con il suo corrispettivo in binario.
Esempi di notazione Esadecimale
0 0b0000 0x0
4 0b0011 0x4
10 0b1010 0xA
14 0b1110 0xE
15 0b111 0xF
Aritmetica “Modulo 2^N”
in 4 bit si possono rappresentare numeri fino al 15. Se l’INPUT è maggiore di 15? Il computer
ignora l’errore e prosegue, il 16 sarà rappresentato come 0. In realtà la sequenza dei numeri in
quei 4 bit non rappresenta un numero ma l’intera famiglia dei multipli di quel numero pari a 2^N,
dove N è il numero di bit.
|M|(2^N) modulo 2^N → se M1=kM (con k numero intero), allora |M1|(2^N)=|M|(2^N)
Algoritmo
Tesi di Church: solo funzioni parzialmente ricorsive possono essere calcolate con algoritmi.
Un algoritmo deve essere: preciso (indica ogni volta la sequenza corretta di ogni passo),
deterministico (ogni volta che si applica deve produrre lo stesso risultato), finito (deve
comportare un numero finito di passi).
La definizione di un algoritmo si compone di tre parti: Input (ciò che è impegnato nel processo),
processo (elaborazione dei passaggi), Output (terminazione).
Variabile: contenitore di simboli o valori. Ogni variabile ha un nome per distinguerle dalle altre e
questo è anche l’indirizzo dove la variabile sta nella memoria.
= (Istruzione di assegnamento, la vari