Dispensa di Informatica – I.2 CENNI Una variabile il cui valore appartenga ad un insieme di simboli può indicare un numero di informazioni pari al numero di elementi di cui è composto l’insieme. Ad esempio se a può assumere i valori { Q,W,E ,R} potrà al massimo indicare 4 informazioni diverse. Nel caso in cui si voglia trattare dati che contengano un numero di informazioni maggiori di 4 una possibilità è utilizzare una combinazione di più variabili con valori che appartengano allo stesso insieme. Nel caso in cui io voglia catalogare tutti i giocatori di una squadra di calcio tramite variabili appartenenti all’insieme { Q,W,E,R } dovrò usare almeno la combinazione di due variabili. In generale la combinazione di n valori che appartengano ad un insieme di m simboli diversi riesce a contenere al massimo mn valori differenti. Ad esempio i valori che possono assumere una coppia di variabili (n = 2) appartenenti all’insieme { Q,W,E,R } (m=4) porterà 42 simboli diversi. QQ WQ ER EQ RR RQ QW WW EW RW QE WE EE RE QR WR ad ogni simbolo è possibile associare una informazione. Dispensa I.2 versione 1.0 mail: [email protected] Pagina 1 Dispensa di Informatica – I.2 I SISTEMI DI NUMERAZIONE POSIZIONALE Il sistema di numerazione è una codifica tramite riuscire ad indicare un numero tramite un insieme di simboli. I romani utilizzavano una combinazione dei simboli {I, V, X, C, M} per poter indicare i numeri. Ad esempio 12 = XII Il sistema di numerazione romano è un "sistema di numerazione additivo", ovvero a ogni simbolo è associato un valore e il numero rappresentato è dato dalla somma dei valori dei simboli (che assomigliano a delle lettere e che pertanto possono essere definiti "simboli letterari"). Attualmente utilizziamo un sistema di numerazione in cui i simboli (cifre) usati per scrivere i numeri assumono valori diversi a seconda della posizione che occupano nella notazione. Ad esempio il simbolo 123 nel sistema di numerazione decimale esprime di fatto 1 centinaia ( 102) 2 decine ( 101 ) 3 unità (100) Quindi il simbolo 3 – che preso senza considerare la posizione rappresenta un numero maggiore di 2 – trovandosi a destra di 2 assume un valore inferiore (3 unità in confronto a 2 decine) Nella numerazione posizionale – dunque - ogni cifra del numero assume un valore in funzione della “posizione”: 221 in notazione compatta, cioè 2 x 100 + 2 x 10 + 1 x 1 ovvero, con la notazione esplicita 2 x 102 + 2 x 101 + 1 x 100 Ogni numero si esprime come la somma dei prodotti di ciascuna cifra per la base elevata all’esponente che rappresenta la posizione della cifra. La notazione posizionale può essere usata con qualunque base creando così differenti sistemi di numerazione. Per ogni base di numerazione si utilizza un numero di cifre uguale alla base. In informatica si utilizza prevalentemente la numerazione: • binaria, • ottale, • esadecimale Dispensa I.2 versione 1.0 mail: [email protected] Pagina 2 Dispensa di Informatica – I.2 Quando non è inequivocabile la base di numerazione questa viene indicata al fianco del numero. 1238 indica che il numero 123 è un base otto 1210 indica che il numero 12 è in base 10 0101012 indica che il numero 010101 è in base 2 Essendo il sistema di numerazione posizionale in caso di operazioni matematiche andiamo a “confrontare” le cifre di pari importanza. 23 + 34 ----------57 . Dispensa I.2 versione 1.0 mail: [email protected] Pagina 3 Dispensa di Informatica – I.2 IL SISTEMA NUMERICO DECIMALE Il Sistema numerico decimale è un sistema di numerazione posizionale che, per rappresentare i numeri, utilizza dieci cifre da 0 a 9. La numerazione decimale utilizza una notazione posizionale basata su 10 cifre (da 0 a 9) e sulle potenze di 10. Il numero 23410 può essere rappresentato esplicitamente come: 2 x 102 + 3 x 101 + 4 x 100 IL SISTEMA NUMERICO BINARIO Il sistema di numerazione binario utilizza una notazione posizionale basata su 2 cifre (0 e 1) e sulle potenze di 2. Il numero 10012 può essere rappresentato esplicitamente come: 10012 = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 910 IL SISTEMA NUMERICO OTTALE ll sistema di numerazione ottale utilizza una notazione posizionale basata su 8 cifre (da 0 a 7) e sulle potenze di 8. Il numero 5348 può essere rappresentato esplicitamente come: 5348 = 5 x 82 + 3 x 81 + 4 x 80 = 34810 IL SISTEMA NUMERICO ESADECIMALE La numerazione esadecimale utilizza una notazione posizionale basata su 16 cifre (da 0 a 9 ed i caratteri A, B, C, D, E, F) e sulle potenze di 16. Il numero B7FC16 può essere rappresentato esplicitamente come: B7FC16 = (11) x 163 + 7 x 162 + (15) x 161 + (12) x 160 = 4710010 Dispensa I.2 versione 1.0 mail: [email protected] Pagina 4 Dispensa di Informatica – I.2 Esempi di numeri esadecimali sono: 709F16, 3D116 e così via. Mentre le cifre da 0 a 9 hanno lo stesso valore, si pone: A=10 B=11 C=12 D=13 E=14 F=15 Dispensa I.2 versione 1.0 mail: [email protected] Pagina 5 Dispensa di Informatica – I.2 CONVERSIONE DA BASE m A BASE 10 Per convertire un numero da una qualunque base alla base 10 è sufficiente rappresentarlo esplicitamente: 11012 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 1310 7108 = 7 x 82 + 1 x 81 + 0 x 80 = 45610 A5116 = (10) x 162 + 5 x 161 + 1 x 160 = 264110 In generale … 223M = (2) x M2 + 2 x M1 + 3 x M0 Dispensa I.2 versione 1.0 mail: [email protected] Pagina 6 Dispensa di Informatica – I.2 CONVERSIONE DA BASE 10 A BASE m Per convertire un numero ad una base n qualsiasi occorre trovare tutti i resti delle successive divisioni del numero per la base n. Come esempio si vuole trovare il valore binario del numero 210 basterà dividere 210 per la base 2. Dispensa I.2 versione 1.0 mail: [email protected] Pagina 7 Dispensa di Informatica – I.2 Operazioni binarie La somma; 10110101+ 1000110 = -------------------------------------------11111011 Il prodotto; si incolonnano le moltiplicazioni parziali e si somma 1101 x 11 = --------------------------------------------1101 1101 -----------------------------------------100111 Dispensa I.2 versione 1.0 mail: [email protected] Pagina 8 Dispensa di Informatica – I.2 UNITA’ DELL’INFORMAZIONE il BIT (BInary digiT) corrisponde ad uno dei 2 possibili stati di un dispositivo fisico e che viene interpretato come 0 oppure 1. Ogni informazione complessa è trasformata, all’interno del calcolatore, in una sequenza opportuna di bit. Nella memoria di un calcolatore si fa riferimento non al singolo bit, ma ad un “ottetto” di bit, il BYTE. 10111001000100011111001100011000101 Dispensa I.2 versione 1.0 mail: [email protected] Pagina 9 Dispensa di Informatica – I.2 CODICE ASCII È un sistema di codifica dei caratteri a 7 bit comunemente utilizzato nei calcolatori, proposto dall'ingegnere dell'IBM Bob Bemer nel 1961, e successivamente accettato come standard dall'ISO (ISO 646). Per non confonderlo con le estensioni a 8 bit proposte successivamente, questo codice viene talvolta riferito come US-ASCII. Alla specifica iniziale basata su codici di 7 bit fecero seguito negli anni molte proposte di estensione ad 8 bit, con lo scopo di raddoppiare il numero di caratteri rappresentabili. Nei PC IBM si fa per l'appunto uso di una di queste estensioni, ormai standard di fatto, chiamata extended ASCII o high ASCII. In questo ASCII esteso, i caratteri aggiunti sono vocali accentate, simboli semigrafici e altri simboli di uso meno comune. I caratteri extended ASCII sono codificati nei cosiddetti codepage. L'asteroide 3568 ASCII prende il nome da questa codifica dei caratteri. Dispensa I.2 versione 1.0 mail: [email protected] Pagina 10