vuoi
o PayPal
tutte le volte che vuoi
Notazione posizionale decimale e binaria
N• Con N cifre posso rappresentare 10 valori diversi (compreso lo 0!)• Il massimo numero rappresentabile con N cifre è N99….9 (N volte 9, la cifra che vale di più), pari a 10N - 1
• con una cifra posso rappresentare 10 = 10 valori diversi e il massimo numero rappresentabile è 9 = 10 - 1
• con tre cifre posso rappresentare 103 = 1000 valori e il massimo numero rappresentabile è 999 = 103 - 1 = 1000 - 1
• …
12Informatica Generale Maria De Marsico 4Notazione posizionale decimale
• Quindi se voglio rappresentare K diverse configurazioni (cioè 0 1 2 … K-1) mi servono almeno x cifre dove 10x è la più piccola potenza di 10 che supera K
• es : se voglio 300 configurazioni diverse mi servono almeno 3 cifre perché 103 = 1000 è la più piccola potenza di 10 maggiore di 300 (102 = 100)
13Informatica Generale Maria De MarsicoNotazione posizionale in base 2
• La rappresentazione di un
Il numero intero in base 2 è una sequenza di cifre scelte fra 0 e 1. Ad esempio: 10, 110, 1.
Il valore di una sequenza c...c è dato da:
N-1 1 0c * 2 + c * 2...+ c * 2 + c * 2N N-1 1 0
Esempi:
0 = 1
1 = 1 * 2^1 + 0 * 2^0
10 = 1 * 2^2 + 0 * 2^1 = 2^2 + 0 * 2^1 + 0 * 2^0
101 = 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 4 + 0 + 1 = 5
Informatica Generale Maria De Marsico
Notazione posizionale in base 2:
Con un bit posso rappresentare 2 informazioni: 1 e 0, vero e falso, bianco e nero, ecc.
Più informazioni = sequenze di bit.
Con 2 bit: 00, 01, 10, 11 = 2 + 2 = 4 sequenze diverse, a cui posso far corrispondere 4 informazioni diverse.
Con 3 bit: 000, 001, 010, 011, 100, 101, 110, 111 = 4 + 4 = 8 sequenze diverse.
Con 4 bit: 8 + 8 = 16 sequenze diverse... e così via.
Informatica Generale Maria De Marsico
Notazione posizionale in base 2:
Con 1 bit, 2 informazioni; con 2 bit, 4; con 3 bit, 8; con 4 bit, 16... e così via.
Ma... 2 = 2; 4 = 2; 8 = 2; 16 = 2^N.
bit riesco a rappresentare 2 informazioni 16 Informatica Generale Maria De Marsico
Notazione posizionale in base 2
Quindi valgono ovviamente proprietà analoghe a quelle viste per la base 10:
- Il massimo numero rappresentabile con N cifre è 11...1 (N volte 1, la cifra che vale di più), N pari a 2-1
- es: su tre cifre il massimo numero rappresentabile è 3111 pari a 2-1 = 8 - 1 = 7
17 Informatica Generale Maria De Marsico
Notazione posizionale in base 2
- ...e se voglio rappresentare K diverse configurazioni (cioè 0 1 2 ... K-1) mi servono almeno x cifre dove 2 è la più piccola potenza di 2 che supera K
- es: se voglio 300 configurazioni diverse mi servono almeno 9 cifre perché 29 = 512 è la più piccola potenza di 2 maggiore di 300
18 Informatica Generale Maria De Marsico
Conversione da base 10 a base 2
Dato un numero X si cerca la sua... c in base 2 rappresentazione cN 0
Conversione per divisione :
- si divide ripetutamente X per 2 fino ad ottenere un quoziente 0
- il resto ottenuto nella divisione i-esima è la i-esima cifra (c ) della rappresentazione binaria
Informatica Generale Maria De Marsico
Da decimale a binario
N = 51 N = ???
- 2 51 25 2 1
- 2 25 12 2 1
- 2 12 6 2 0
- 2 6 3 2 0
- 2 3 1 2 1
- 2 1 0 2 1
N = 1100112 N = 2x25+1 = 2x(2x12+1)+1 = 2x(2x(2x6+0)+1)+1 = 2x(2x(2x(2x3+0)+0)+1)+1 = 2x(2x(2x(2x(2x1+1)+0)+0)+1)+1 = 2 +2 +2 +1 = 32 + 8 + 2 + 1 = 4310
Informatica Generale Maria De Marsico
Da binario a decimale
N = 1010102 N = 1 x 2 + 0 x 2 + 1 x 2 + 0 x 2 + 1 x 2 + 0 x 2 = 32 + 8 + 2 = 4210
N = 110112 N = 2 + 2 + 2 + 2 = 1 + 2 + 8 + 16 = 2710
Informatica Generale Maria De Marsico 7
Alcune misure
- ricordiamo che la base delle nostre misure sono le potenze di 2 !
- un byte: 8 bit - 00000000, 00000001, 00000010, ..., 11111111 = 28 = 256 possibili combinazioni, ad esempio i numeri da 0 a 25510
- un kilobyte (un cappa): 1Kb = 1024 byte (210)
- un megabyte:
1024 volte 1024• un giga… un tera…• word (parola) : 2 o 4 byte (dipende dalla macchina)unità minima che può essere fisicamente letta oscritta nella memoria 22Informatica Generale Maria De Marsico
Rappresentazione dei numeri• Si usa la notazione binaria• Ogni numero viene rappresentato con unnumero finito e fissato di cifre binarie (bit)• Numeri di ‘tipo’ diverso hannorappresentazioni diverse• esempi di tipi di numero: interi positivi, interi consegno (positivi e negativi), razionali, reali,complessi• possono corrispondere a tipi diversi nei linguaggidi programmazione 23Informatica Generale Maria De Marsico
I numeri interi• Gli interi positivi utilizzano di solito 2 o 4 byte• ATTENZIONE:• anche se uso 4 byte (32 bit) posso rappresentare solo32i numeri positivi da 0 a 2 -1, che sono molti ma nontutti !• se moltiplico o sommo due numeri molto elevatiposso ottenere un numero che non è
rappresentabile• es: vediamo cosa succede in base 10 con solo 3 cifre :500 + 636 = 1136 risultato 136se uso solo 3 cifre non ho lo spazio per scrivere la primacifra (1) che viene ‘persa’ (overflow) 24Informatica Generale Maria De Marsico 8I numeri interi con segno• Gli interi con segno usano di solito 4 byte• si usano diverse convenzioni di rappresentazione• es: modulo e segno in cui il primo bit viene riservato alsegno (1 negativo, 0 positivo) e gli altri 31 al modulo• anche in questo caso esiste il problemadell’overflow 25Informatica Generale Maria De MarsicoI numeri razionali• I razionali usano di solito 4/8 byte• numero finito di cifre dopo la virgola• rappresentazione in virgola fissa : riservo X bit perla parte frazionaria• es : con 5 bit, 3 bit per la parte intera e 2 per quellafrazionaria 011.11, 101.01 26Informatica Generale Maria De MarsicoConversione• Da virgola fissa a base 10 consideriamo che-1 -2 22 =
1/2 = 0.5, 2 = 1/2 = 0.25 e in generale-n n2 = 1/2• es : 2 1 0 -1 -2+ 0 * 2 + 1 * 2 + 0 * 2 + 1 * 2 =101.01 = 1* 2= 4 + 1+ 0.25 = 5.25 27Informatica Generale Maria De Marsico 9