La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

52 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione La rappresentazione più semplice: | | | | …. poco rappresentativa; difficoltà

Presentazioni simili


Presentazione sul tema: "52 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione La rappresentazione più semplice: | | | | …. poco rappresentativa; difficoltà"— Transcript della presentazione:

1 52 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione La rappresentazione più semplice: | | | | …. poco rappresentativa; difficoltà di memorizzazione Numeri romani: I, II, III, IV, V, VI, VII, VIII, IX, X, … 1997 MCMXCVII problemi di utilizzo nelle operazioni e nella rappresentazione di numeri grandi

2 53 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione Numerazione decimale: base= migliaiacentinaiadecineunità Conteggio: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 0 con riporto

3 54 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione di numeri interi Si sceglie una base. Si scelgono simboli che rappresentano i numeri da 0 a -1 (cifre). I numeri sono rappresentati dai coefficienti del polinomio per le potenze della base Indichiamo la base del sistema di numerazione con il pedice N = A s A s-1 … A 1 A 0 0 A i Valore N = A s s + A s-1 s-1 + … + A A 0 0 La rappresentazione è posizionale poiché il peso associato alla generica cifra A i dipende dalla posizione di A i

4 55 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione Numerazione binaria: base=2 Conteggio: 0, 1 0 riporto 10, 11 0 riporto 100, … Corrispondenza binario-decimale BinarioDecimale

5 56 Università di Pavia - corso di Fondamenti di Informatica Numerazione binaria: base 2. Simboli usati: 0, = = = =4 2 0 =1 2 9 = = = =8 2 1 = = = = Sistemi di numerazione

6 57 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione Numerazione ottale: base 8 Simboli usati: 0, 1, 2, 3, 4, 5, 6, 7 Esempio: = = = = =

7 58 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione Numerazione esadecimale : base 16 Simboli usati: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Esempio: 7 C D = = = = =

8 59 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione: esempi Base = = = = = = Base = = = = = = =

9 60 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione: esempi Base 16 A 16 = = = E 8 16 = = = F 16 = E 16 = = B 16 = = =

10 61 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione: esempi = 10, N = N = = 2, N = N = = = = 8, N = N = = = = 16, N = AB9E 16 N = = =

11 62 Università di Pavia - corso di Fondamenti di Informatica Conversione di base Per la parte intera: Dato un numero in una base A, si vuole rappresentarlo in base B, cioè: N A = N B = x 0 + B (x 1 + B (…B x s )…) Se dividiamo N A per la nuova base B, otteniamo un quoziente N 1 ed un resto R. Uguagliando: N A = R + B N 1 = x 0 + B (x 1 + B (x 2 + … ) ) da cui: x 0 = R (x 1 + B (x 2 + … ) ) = N 1 Iterando il procedimento con N 1 al posto di N A, si ottengono tutti i coefficienti del polinomio nelle potenze di B, cioè la codifica di N A nella nuova base, e quindi N B

12 63 Università di Pavia - corso di Fondamenti di Informatica Conversione di base = = = 4EA 16

13 64 Università di Pavia - corso di Fondamenti di Informatica Conversione di base: numeri frazionari N = 0, A -1 A -2 A -3 A -4 A -5 Valore N = A A A A A In generale: Q = A s A s-1 … A 1 A 0, A -1 A -2 A -3 … A -R 0 A i Valore Q = A s s + A s-1 s-1 + … + A A A A A … + A -R -R Esempi: = 10, N = 325,23 10 N = = 2, N = 101,01 2 N = = ,25 = 5,25 10

14 65 Università di Pavia - corso di Fondamenti di Informatica Conversione di base Per la parte frazionaria: Dato un numero in una base A, si vuole rappresentarlo in base B, cioè: F A = F B = B -1 (x -1 + B -1 (x -2 + B -1 (…B -1 x -r )…)) Se moltiplichiamo F A per la nuova base B, otteniamo una parte intera I ed una parte frazionaria F 1. Uguagliando: F A B = I + F 1 da cui:x -1 = I B -1 (x -2 + B -1 (…B -1 x -r )…) = F 1 Iterando il procedimento con F 1 al posto di F A, si ottengono i coefficienti del polinomio nelle potenze di B, cioè la codifica di F A nella nuova base, e quindi F B. Il procedimento termina quando F l = 0, oppure quando si è raggiunta la precisione desiderata (errore < B -r se ci si ferma al termine x -r )

15 66 Università di Pavia - corso di Fondamenti di Informatica Conversione di base: numeri frazionari = = =

16 67 Università di Pavia - corso di Fondamenti di Informatica CONVERTIRE IL NUMERO 58,07 10 IN BINARIO PARTE INTERAPARTE FRAZIONARIA 58 = 28x2+0 X 0 =00,07x2=0.14 X -1 =0 29 = 14x2+1 X 1 =10,14x2=0.28 X -2 =0 14 = 7 x2+0 X 2 =00,28x2=0.56 X -3 =0 7 = 3 x2+1 X 3 =10,56x2=1.12 X -4 =1 3 = 1 x2+1 X 4 =10,12x2=0.24 X -5 =0 1 = 0 x2+1 X 5 =10,24x2=0.48 X -6 =0 0,48x2=0.96 X -7 =0 0,96x2=1.92 X -8 =1 0,92x2=1.84 X -9 =1 (TRONCHIAMO QUI) IL NUMERO IN BINARIO È: ,

17 68 Università di Pavia - corso di Fondamenti di Informatica CONVERTIRE IL NUMERO 4287, IN ESADECIMALE PARTE INTERA:PARTE FRAZIONARIA 4287:16=267 RESTO=15 F0,321x16=4, :16= 16RESTO=11 B0,992x16=15,872 F 16 :16= 1RESTO= 0 00,872x16=13,952 D 1 :16= 0 RESTO= 1 10,952x16=15,232 F 4287, ~ 10BF,4FDF… 16 1X16 3 = X16 1 = X16 0 = 15 4X16 -1 = 0,250 15X16 -2 = 0, _________________________________ =4287,....

18 69 Università di Pavia - corso di Fondamenti di Informatica Conversione di un numero dalla base β 1 alla base β 2 quando β 2 = β 1 k dove K è un intero 2 ESEMPIO: β 1 =2, β 2 =8=2 3 N 2 = d k d k-1... d 5 d 4 d 3 d 2 d 1 d 0 = d k 2 k +….+d d d d d d = ….+(d d d )2 3 +(d d d )2 0 = c h 2 3*h +….+c 2 2 3*2 +c 1 2 3*1 +c 0 2 3*0 con 0 c i 7 = c h 8 h +….+c c c N 8 = c h c h-1... c 5 c 4 c 3 c 2 c 1 c 0 Quindi se una base è potenza dellaltra, con esponente K, la conversione è molto semplice: basta sostituire ogni gruppo di K cifre del numero in una base (β 1 ) con la cifra corrispondente nellaltra base (β 2 ) o viceversa. N.B. se il numero di bit non è multiplo di K aggiungere gli 0 necessari a renderlo tale in posizioni che non modifichino il significato del numero.

19 70 Università di Pavia - corso di Fondamenti di Informatica Conversioni fra basi diverse Esempio: A B C D E F 1111

20 71 Università di Pavia - corso di Fondamenti di Informatica Conversioni fra basi diverse: esempi | | | | | EA | | | | | Si può fare anche il passaggio inverso: 1F | | | | | | | |

21 72 Università di Pavia - corso di Fondamenti di Informatica Conversione di base: numeri frazionari … … …. Può accadere che a un numero decimale non periodico corrisponda un numero binario, ottale o esadecimale periodico

22 73 Università di Pavia - corso di Fondamenti di Informatica Conversione da base 8 a base D

23 74 Università di Pavia - corso di Fondamenti di Informatica Conversione da base 16 a base F C 0 8 A 16

24 75 Università di Pavia - corso di Fondamenti di Informatica Operazioni binarie = ___________ (1) (1) = ________ Somma In parentesi è indicato il riporto Sottrazione In parentesi è indicato il prestito = ____ = ____ 12

25 76 Università di Pavia - corso di Fondamenti di Informatica Operazioni binarie x = x Moltiplicazione Divisione 25 x 13 = : 9 = 2 con resto di 7

26 77 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione dei numeri nei calcolatori Lunità minima di informazione nei calcolatori è il bit. Il bit corrisponde ad un sistema fisico dotato di stati stabili: passa/non passa corrente, tensione alta/bassa, condensatore scarico/carico, ecc. I calcolatori si basano sul sistema numerico binario (cifre 0 e 1) Si utilizza cioè un insieme di bit per rappresentare le cifre binarie. Il numero di bit utilizzati è generalmente un multiplo di 8 (cioè si utilizzano 1, 2, 4, 8 byte)

27 78 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione dei numeri nei calcolatori Si consideri un byte (8 bit). Un byte permette di rappresentare 2 8 stati differenti; può pertanto memorizzare 256 diverse configurazioni corrispondenti ai primi 256 numeri naturali (0-255) b7b7 b6b6 b5b5 b4b4 b3b3 b2b2 b1b1 b0b Nella rappresentazione in valore assoluto: N= b b b b b b b b N=37

28 79 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione dei numeri positivi e negativi Esiste un problema: come rappresentare i numeri negativi Prima soluzione: rappresentazione in Modulo e Segno (anche detta Binario Naturale) Si utilizza un bit per rappresentare il segno del numero considerato 0 + (numero positivo) 1 - (numero negativo) Se consideriamo un byte, rimangono ora 7 bit per il modulo del numero: i numeri rappresentabili sono perciò [0-127] +/-b6b6 b5b5 b4b4 b3b3 b2b2 b1b1 b0b0

29 80 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione dei numeri positivi e negativi Consideriamo per semplicità solo 4 bit. In modulo e segno: In valore assoluto: +/-b2b2 b1b1 b0b0 Significato in modulo e segno Rappresentazione binaria Significato in valore assoluto b3b3 b2b2 b1b1 b0b0

30 81 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione dei numeri in Modulo e Segno Rappresentazione Numero

31 82 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione dei numeri in Modulo e Segno Esistono due rappresentazioni diverse dello 0 distanti 2 n-1 fra di loro, se n sono i bit usati per la rappresentazione (8 con 4 bit) Un incremento binario nella rappresentazione corrisponde ad un incremento per numeri positivi, ma un decremento per numeri negativi Numero minimo: -2 n-1 +1 Numero massimo: 2 n-1 -1

32 83 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione in modulo e segno: problemi Addizione e sottrazione sono le operazioni di cui si deve disporre per poter realizzare qualsiasi operazione aritmetica più complessa Si supponga che il calcolatore abbia una Unità Aritmetica che realizzi indipendentemente le due operazioni. Di fronte ad una somma algebrica, il calcolatore dovrebbe: –confrontare i due segni –se uguali, attivare il circuito di addizione –se diversi, identificare il maggiore (in valore assoluto) ed attivare il circuito di sottrazione –completare il risultato con il segno corretto I passi indicati non sono eseguibili contemporaneamente perché ognuno dipende dai precedenti In pratica per effettuare somma e sottrazione si ricorre ad un unico circuito, utilizzando un metodo che permette di evitare le operazioni di confronto

33 84 Università di Pavia - corso di Fondamenti di Informatica Complemento alla base di un numero Nella rappresentazione in complemento alla base con n cifre le b n combinazioni rappresentano numeri positivi e negativi. In particolare: le combinazioni da 0 a b n :2 - 1 rappresentano i numeri positivi, rispettando la usuale rappresentazione posizionale; Le combinazioni da b n :2 fino a b n – 1 rappresentano i numeri negativi, con la seguente definizione: dato un numero positivo X, il suo corrispondente negativo è dato da: b n -X

34 85 Università di Pavia - corso di Fondamenti di Informatica Complemento alla base – 1 di un numero Nella rappresentazione in complemento alla base – 1 con n cifre le b n combinazioni rappresentano numeri positivi e negativi. In particolare: le combinazioni da 0 a b n :2 - 1 rappresentano i numeri positivi, rispettando la usuale rappresentazione posizionale; Le combinazioni da b n :2 fino a b n – 1 rappresentano i numeri negativi, con la seguente definizione: dato un numero positivo X, il suo corrispondente negativo è dato da: (b n -1)-X

35 86 Università di Pavia - corso di Fondamenti di Informatica Complemento alla base Esempio b=10, n=2; 10 2 configurazioni: i numeri da 0 a 49 rappresentano i positivi, con il consueto significato; da 50 a 99 i negativi come previsto dal complemento (-1 -> 99, -2 -> 98, …, -49 -> 51, -50 -> 50). X=36; -X in complemento alla base (si dice complemento a 10) è: X = = 64 b=10, n=4; i numeri da 0 a 4999 rappresentano i positivi; da 5000 a 9999 i negativi (-1 -> 9999, -2 -> 9998, …, > 5001, > 5000) X=1630; -X in complemento alla base è: = 8370 Regola pratica: il complemento a 10 si trova analizzando le cifre a partire da destra: gli zeri fino alla prima cifra significativa si riportano tali e quali; della prima cifra significativa si fa il complemento a 10, di tutte le altre il complemento a 9

36 87 Università di Pavia - corso di Fondamenti di Informatica Complemento alla base b=2, n=5 Positivi da 0 a Negativi da a X = 01011; trovo -X = Regola pratica: partendo dal bit meno significativo, si riportano invariati tutti i bit fino al primo bit a 1 compreso; si complementano i rimanenti bit (0 1, 1 0) b=2, n=7 Positivi da 0 a Negativi da a X= ; trovo -X =

37 88 Università di Pavia - corso di Fondamenti di Informatica Complemento alla base -1 X=36, b=10, n=2 in complemento alla base -1 è: = 63 Si ottiene complementando a 9 ogni singola cifra X=01011, b=2, n=5 -X in complemento alla base -1 è: ( ) - X = ( ) - X = = Si ottiene complementando ogni singolo bit (0 1, 1 0)

38 89 Università di Pavia - corso di Fondamenti di Informatica Complemento alla base Il complemento alla base si può ottenere anche sommando 1 al complemento alla base -1 (per definizione) C b = b n - X C b-1 = (b n - 1) - X C b - C b-1 = 1 C 10 (36) = 64che rappresenta - 36 C 9 (36) = 63che rappresenta - 36

39 90 Università di Pavia - corso di Fondamenti di Informatica Complementi alla base e alla base -1 Nelle rappresentazioni in complemento alla base e in complemento alla base -1 le rappresentazioni dei numeri negativi sono definite solo quando si è stabilito il numero di cifre. Il complemento alla base [e il complemento alla base -1] per X=36, b=10, n=2 è: 64 [63] Il complemento alla base [e il complemento alla base -1] per X=36, b=10, n=3 è: 964 [963] N.B: Tutti i numeri ottenuti rappresentano – 36 !!!

40 91 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione in complemento: Riepilogo Rappresentazione in complemento a 2: i numeri positivi sono rappresentati dal loro modulo e hanno il bit più significativo (segno) posto a 0. I numeri negativi sono rappresentati dalla quantità che manca al numero positivo per arrivare alla base elevata al numero di cifre utilizzate, segno compreso. Pertanto i numeri negativi hanno il bit del segno sempre a 1 Metà delle configurazioni sono perciò riservate ai numeri positivi e metà ai numeri negativi Discorsi analoghi possono essere fatti per basi diverse da 2: in base 10 un numero è negativo se la prima cifra è 5, in base 8 se 4, in base 16 se 8

41 92 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione in complemento alla base Con n bit a disposizione: Il numero minimo rappresentabile è -2 n-1 Il numero massimo rappresentabile è 2 n è rappresentato da tutti 1 qualunque sia il numero di bit considerato Il numero può essere interpretato considerando il bit più significativo con segno negativo b3b3 b2b2 b1b1 b0b0 N= - b b b b 0 2 0

42 93 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione in complemento alla base Significato in complemento a 2 Rappresentazione binaria Significato in valore assoluto

43 94 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione in complemento a 2 Vi è una sola rappresentazione dello 0 (0000) Tutti i numeri sono consecutivi. La configurazione dello 0 segue quella di -1 trascurando il riporto Numero Rappresentazione

44 95 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione in complemento alla base -1 Significato in complemento a 1 Rappresentazione binaria Significato in valore assoluto Il numero minimo è -2 n-1 +1 Il numero massimo è 2 n-1 -1

45 96 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione in complemento alla base -1 Vi sono due rappresentazioni dello 0 (0000 e 1111) Numero Rappresentazione Nella rappresentazione in complemento a 1 i numeri negativi si ottengono complementando a 1 tutti i corrispondenti numeri positivi segno compreso. Pertanto i numeri negativi hanno il bit di segno sempre a 1

46 97 Università di Pavia - corso di Fondamenti di Informatica Schema riassuntivo Modulo e segnoComplemento a 2Complemento a 1 Zero00…0000/10… …000…0/11…1 Valore massimo2 n-1 -1 Valore minimo-2 n n-1 -2 n-1 +1 Bit di segno0/1

47 98 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione di interi in complemento a 2 Con 1 byte (8 bit) max = = 127 min = -2 7 = -128 Con 2 byte (16 bit) max = = min = = Con 4 byte (32 bit) max = = min = =

48 99 Università di Pavia - corso di Fondamenti di Informatica Utilità del complemento alla base Con la tecnica del complemento si può utilizzare un solo circuito per effettuare sia laddizione, sia la sottrazione Operiamo in base 10 e vogliamo calcolare A – B. Si supponga di conoscere il risultato delloperazione 10 - B (complemento a 10 di B). Allora: A - B = A + (10 - B) a condizione che si trascuri il riporto Analogo discorso con k cifre purché si disponga del risultato delloperazione 10 k – B (complemento a 10 k ). Si ricordi sempre di fissare il numero di cifre Se operiamo in base 2, con k cifre: A - B = A + (2 k - B) a condizione che si trascuri il riporto Se si utilizza la tecnica del complemento alla base -1 occorre sommare il riporto al risultato finale

49 100 Università di Pavia - corso di Fondamenti di Informatica Operazioni aritmetiche in complemento: esempi Usando il complemento A B26106 = =(in complemento = 73894) _____________ A-B (riporto da non considerare) A B00110 = =(in complemento = 11010) ______ ______ A-B (riporto da non considerare) A42A A61 + B00B02 = FF4FE =(in complem. -00B02 = FF4FE) ______ ______ A-B41F5F141F5F(riporto da non considerare)

50 101 Università di Pavia - corso di Fondamenti di Informatica Operazioni aritmetiche in complemento: esempi Con il complemento alla base -1 occorre sommare il riporto al risultato finale A B26106 =73893 = 1 = _____________ _______ A-B A B00110 =11001 = 1 = _____________ _______ A-B A42A61 -42A61 +41F5E + B00B02 =FF4FD = 1 = _____________ _______ A-B41F5F 141F5E41F5F

51 102 Università di Pavia - corso di Fondamenti di Informatica Operazioni aritmetiche in complemento Esempi con 6 cifre binarie Complemento a 2Complemento a (-17) (+2) (+2)

52 103 Università di Pavia - corso di Fondamenti di Informatica Operazioni aritmetiche in complemento Esempi con 6 cifre binarie Complemento a 2Complemento a 1 (-19) (-2) (-2)

53 104 Università di Pavia - corso di Fondamenti di Informatica Operazioni aritmetiche in complemento Esempi con 6 cifre binarie Complemento a 2Complemento a 1 (-17) + (-2) (-19) (-19)

54 105 Università di Pavia - corso di Fondamenti di Informatica Esempio di Sommatore: Componenti abRiRi cRoRo IS O ab Ro Σ Ri c a RoRo RiRi c b SIO

55 106 Università di Pavia - corso di Fondamenti di Informatica A = a 2 a 1 a 0 B = b 2 b 1 b 0 C = c 2 c 1 c 0 1)S=0 c 0 = a 0 + b 0 c 1 = a 1 + b 1 + R 0 c 2 = a 2 + b 2 + R 1 C = A + B 2)S=1 Esempio di Sommatore ab Ro Σ Ri c + a2a2 b2b2 R2R2 ab Ro Σ Ri c + a1a1 b1b1 R1R1 ab Ro Σ Ri c + a0a0 b0b0 R0R0 c0c0 c2c2 c1c1 S C = A + B +1 = A + ( – B)+1 = A - B c 0 = a 0 + b 0 + 1c 1 = a 1 + b 1 + R 0 c 2 = a 2 + b 2 + R 1

56 107 Università di Pavia - corso di Fondamenti di Informatica Rappresentazione di interi Esercizio: Rappresentare i numeri con 8 bit e complemento a 2 e a 1 NumeroComplemento a 2Complemento a non rappresentabile 128non rappresentabile non rappresentabile

57 108 Università di Pavia - corso di Fondamenti di Informatica Operazioni aritmetiche in complemento Esempi con 6 cifre binarie = Si sono sommati due numeri positivi e si è ottenuto un numero negativo. Il risultato corretto (+36) non è rappresentabile in complemento a 2 con 6 bit (massimo numero rappresentabile = + 31) Il fenomeno si chiama traboccamento o overflow (-28)

58 109 Università di Pavia - corso di Fondamenti di Informatica Operazioni aritmetiche in complemento Complemento a 2 (-19) + (-17) = Si sono sommati due numeri negativi e si è ottenuto un numero positivo. Il risultato corretto (-36) non è rappresentabile in complemento a 2 con 6 bit (minimo numero rappresentabile = -32 in C.a 2 e –31 in C. a 1) Il fenomeno si chiama traboccamento o overflow (28) Esempi con 6 cifre binarie Complemento a 1 (-19) + (-17) = = (27)

59 110 Università di Pavia - corso di Fondamenti di Informatica Somma di numeri di N bit in complemento a 2 0 A 2 N B 2 N N-1 A < 0 0 B 2 N A 2 N N-1 B < 0 -2 N-1 A < 0 -2 N-1 B < 0 0 S 2 N -2-2 N-1 S < 2 N N S < 0 Sommando due numeri positivi si ha overflow se si ottiene un numero negativo. S potrebbe non essere rappresentabile in N bit ma lo è sempre in N+1 bit. Non ci sono mai problemi di overflow. Sommando due numeri negativi si ha overflow se si ottiene un numero positivo. S potrebbe non essere rappresentabile in N bit ma lo è sempre in N+1 bit.

60 111 Università di Pavia - corso di Fondamenti di Informatica Esempi di somma di numeri binari Complemento a = - 31 Overflow= = = Valore Assoluto = 225 Riporto= = 235 Riporto= = - 21 Overflow=0

61 112 Università di Pavia - corso di Fondamenti di Informatica Tecnica delleccesso Usato per scopi particolari Viene sommata una costante fissa, ad esempio con n bit pari a 2 n-1, al numero dotato di segno da rappresentare; il numero risultante viene convertito in binario. Con questa convenzione il bit di segno è invertito


Scaricare ppt "52 Università di Pavia - corso di Fondamenti di Informatica Sistemi di numerazione La rappresentazione più semplice: | | | | …. poco rappresentativa; difficoltà"

Presentazioni simili


Annunci Google