Prof. M. Zaninelli Definizioni L’alfabeto dei calcolatori Definizioni 1 di 13 Prof. M. Zaninelli Aritmetica binaria • La notazione con cui sono rappresentati normalmente i numeri è detta posizionale: ad esempio nel numero 4.726, la cifra “7” rappresenta le centinaia, perché è al terzo posto da destra. • Ogni posto rappresenta quindi una potenza di 10 migliaia centinaia decine unità 1000 100 10 1 103 102 101 100 4 7 2 6 • In questa notazione si usano 10 cifre e per questo essa è detta “decimale” ( o in base 10) • Ma le stesse quantità sono rappresentabili anche con meno simboli; se ne possono ad esempio usare anche solo due: 0 e 1. In questo caso le posizioni rappresentano le potenze di 2, quindi […, 16, 8, 4, 2, 1] e come effetto secondario, i numeri tendono ad essere molto più lunghi. Definizioni 2 di 13 Prof. M. Zaninelli Aritmetica binaria • Per conoscere il valore (decimale) di un numero espresso attraverso la notazione binaria (o in base 2) occorre sommare tutte le potenze di 2, nelle posizioni in cui vi e’ un “1”. Esempio: 1 1 0 0 1 = 25 questo perché: – le potenze di 2 sono 16 8 4 2 1 – e la somma di 16*1+8*1+0*4+0*2+1*1 = 25 in realtà esattamente come è in notazione decimale in cui, 25 = 2 (decine, 10) + 5(unità,1) ossia: – 25 = 2*10+ 5*1 (un fatto che sembra tremendamente ovvio solo perché si è abituati a contare in base 10 fin dalla nascita) Definizioni 3 di 13 Prof. M. Zaninelli Perché aritmetica binaria? • Visto che i dati nei calcolatori sono rappresentabili facilmente in un sistema di tipo ON/OFF (acceso/spento), risulta pertanto assolutamente naturale e connaturato al modo di immagazzinare le informazioni l’uso di un’aritmetica che utilizzi due sole cifre, quindi binaria (o in base 2) • Nel dettaglio, tipicamente, allo stato acceso viene associata la cifra 1 mentre allo stato spento la cifra 0. Definizioni 4 di 13 Prof. M. Zaninelli Quanti numeri? • • Nella rappresentazione decimale, con una cifra si possono rappresentare 10 simboli (e quindi 10 valori numerici o oggetti distinti): 0, 1, 2, … , 9 – Con 2 cifre, 100 simboli: 0, 1, 2, … , 98, 99 e si noti che 100 = 10x10 – Con 3 cifre, invece 1000: 0, 1, 2, … , 998, 999 e infatti 1000 = 10x10x10 – Ossia, N cifre si possono rappresentare 10N simboli (o valori numeri). Più in generale, detta b la base della notazione, con N cifre in base b si possono rappresentare bN simboli (o valori numerici o oggetti) distinti. Definizioni 5 di 13 Prof. M. Zaninelli Quanti numeri? • Quindi in notazione binaria (base 2), con N cifre sono rappresentabili fino a 2N simboli (o valori numerici o oggetti). Ad esempio, con 8 cifre si possono rappresentare fino a 28=256 simboli. • Pertanto, è possibile usare un numero binario, anche di soli 8 bit, per rappresentare molti valori numerici e creando delle tabelle di corrispondenza, rappresentare anche eventuali oggetti (lettere, caratteri o segni speciali). Per esempio, numero 0 => lettera a, numero 2 => lettera b, … • Estendendo il concetto, si comprende come tutti i dati contenuti, gestiti ed elaborati da un calcolatore possano essere rappresentati da una lunga sequenza di “zeri e uni” (01001101 01010111 01100110 …) Definizioni 6 di 13 Prof. M. Zaninelli Alcune potenze di 2 • Da quanto detto risulta naturale anche rappresentare grandezze convenzionali tramite approssimazioni di potenze di 2 • Infatti, visto che la potenza 210 =1024 ~ 1000 risulta quindi non troppo scorretto sostituire il valore 1024 al posto del “mille” • Pertanto, è possibile istituire delle correlazioni, anche se un po’ approssimate, tra valori numerici “speciali” della notazione decimale e i corrispettivi valori della notazione binaria (es. kilo = 1000 ~ 1024 = 210) Definizioni 7 di 13 Prof. M. Zaninelli Kilo, Mega, Tera, … ICT italiano si può approssimare con Kilo mille 210 1.024 Mega milione 220 1.048.576 Giga miliardo 230 1.073.741.824 Tera biliardo (1000 miliardi) 240 1.099.511.627.776 Peta milione di miliardi 250 1.125.899.906.842.620 Definizioni che vale 8 di 13 Prof. M. Zaninelli bit e Byte • Inoltre, vista l’importanza nel modo dei calcolatori della numerazione in base 2, ad alcuni elementi di essa, sono stati assegnati dei nomi specifici: – il bit, è la più piccola quantità di informazione, non ulteriormente divisibile, memorizzabile su un elaboratore. Esso corrisponde a una cifra binaria e può assumere il valore 0 o 1, – il BYTE, insieme di 8 bit, è invece la quantità di dati minima accessibile o utilizzabile da un programma. Definizioni 9 di 13 Prof. M. Zaninelli E i caratteri? • Come pocanzi detto, attraverso la notazione in base 2 è possibile rappresentare anche un grande insieme di oggetti. • Più in dettaglio, attraverso una sequenza di cifre binarie (bit) e un’opportuna tabella di conversione è possibile rappresentare lettere e segni speciali. • Nello specifico, la più famosa e antica (ma tuttora usata) tabella di conversione è l’ASCII (American Standard Code for Information Interchange) che consente di rappresentare lettere (minuscole e maiuscole), numeri, segni di interpunzione oltre ad una ventina di simboli speciali tramite 7 bit. • Pertanto, si comprende perché un byte (8 bit) sia sufficiente a rappresentare tutti i caratteri e segni speciali dell’alfabeto e perché, in definitiva, sia il più piccolo elemento gestibile da un programma. Definizioni 10 di 13 Prof. M. Zaninelli Convenzioni • La velocità delle reti di calcolatori per convenzione si misura in bit al secondo (quantità di informazione elementare trasmessa o ricevuta) – bit => “b” – 10Mb/sec = 10 megabit/sec = 10 milioni di bit (o cifre) al secondo • Lo spazio disco o le dimensioni di file di dati sono invece misurati in Byte (numero di caratteri contenuti) – Byte => “B” – 250GB = 250 gigabyte = 250 miliardi di byte (spesso caratteri) archiviabili Definizioni 11 di 13 Prof. M. Zaninelli Conseguenze • Poiché un carattere è lungo 8 bit (=1 byte) bisogna fare attenzione nelle valutazioni di spazio, velocità, banda, tempo, ecc. • Infatti, ad esempio – Un filmato di 1h45min (~ 800 MB) per essere trasferito via rete su una connessione da 2 Mb/sec, non ci metterà 800/2 = 400 secondi, cioè 6 min e 40 sec – ma invece 800*8 = 6400/2 = 3200 secondi, cioè 53 min e 20 sec Definizioni 12 di 13 Prof. M. Zaninelli Per finire, niente e tutto • Il concetto di DEFAULT – Gli elaboratori sono privi di iniziativa. Una delle conseguenze più pervasive è l’impossibilità di compiere azioni, per noi naturali, come quella di fare una scelta arbitraria per superare una condizione non prevista e per la quale non sia specificato alcun criterio. – È quindi spesso necessario, se non indispensabile, indicare dei valori, detti di default, per variabili, criteri, azioni, scelte, da utilizzare in assenza di altre indicazioni o di indicazioni ambigue. – Esempi di frasi esplicative: • Appena installato, la password di default è “K04resYt” • “Per default la tua connessione al sito terminerà dopo 5 minuti di inattività” • “In caso di errore, farà un dump di memoria ed un reboot, ma puoi cambiare il default usando la variabile DEFAULT_ERROR_CONDITION” Definizioni 13 di 13