Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Rappresentazione dell’Informazione
Corso di Laurea in Ingegneria Civile Prof. Dario Bianchi Dario Bianchi Fond. Informatica - Ing. Civile
2
Rappresentazione dell’Informazione
In un calcolatore vogliamo rappresentare vari tipi di informazioni: Numeri reali Numeri interi Testi Grafici Disegni Fotografie Filmati Suoni Dario Bianchi Fond. Informatica - Ing. Civile
3
Rappresentazione dell’Informazione
L’informazione può essere rappresentata in due forme: – Analogica – Digitale Nella forma analogica una grandezza è rappresentata in modo continuo. Nella forma digitale una grandezza è rappresentata in modo discreto. La gran parte delle grandezze fisiche sono di tipo continuo (ad esempio unsegnale acustico). Tuttavia alcuni tipi di informazioni “artificiali” sono di tipo discreto (ad esempio un testo scritto). Dario Bianchi Fond. Informatica - Ing. Civile
4
Rappresentazione dell’Informazione
Per elaborare delle grandezze di tipo continuo con un calcolatore, bisogna utilizzare una sua rappresentazione digitale. La rappresentazione digitale é una approssimazione della rappresentazione analogica. L’errore di approssimazione dipende dalla precisione della rappresentazione digitale. Dario Bianchi Fond. Informatica - Ing. Civile
5
Rappresentazione dell’Informazione
Internamente ad un elaboratore ogni informazione è rappresentata da una sequenza di bit (cifre binarie) Una sequenza di bit non dice puo ` rappresentare entita` diverse: Ad esempio la sequenza di cifre binarie: puo’ rappresentare: – l’intero 65 – il carattere A – il valore di un segnale musicale – il codice del colore di un punto sullo schermo Dario Bianchi Fond. Informatica - Ing. Civile
6
Fond. Informatica - Ing. Civile
Codici Un codice é un sistema di simboli atto a rappresentare una informazione di qualsiasi genere (caratteri, numeri, etc.). Ogni simbolo é messo in corrispondenza biunivoca con una entitá che si vuole rappresentare. Un codice binario usa come simboli le cifre binarie “0” e “1”. Dario Bianchi Fond. Informatica - Ing. Civile
7
Fond. Informatica - Ing. Civile
Sistemi Numerici Un numero N puó essere rappresentato come una sequenza di cifre: N=dn-1dn d1d0 • d-1d-2 d-m corrispondente a: N=dn-1•rn-1+dn-2•rn d0•ro + d-1•r d-m•r-m dove: d = cifra r = base n = numero cifre parte intera m = numero cifre parte decimale Dario Bianchi Fond. Informatica - Ing. Civile
8
Fond. Informatica - Ing. Civile
Sistemi Numerici Sistema Decimale R=10, d=0,1,2,3,4,5,6,7,8,9 N=dn-1•10n-1+dn-2•10n-2+ +d0+ d-1•10-1+d-m•10-m Esempio: 123.45=1•102+2•101+3•100 +4•10-1+5•10-2 Dario Bianchi Fond. Informatica - Ing. Civile
9
Fond. Informatica - Ing. Civile
Sistemi Numerici Sistema Binario R=2, d=0,1 N=dn-1•2n-1+dn-2•2n-2+ +d0•20+ d-1•2-1+d-m•2-m Esempio: = 1•22+0•21+1•20 +0•2-1+1•2-2 = La cifra binaria é detta “bit” (binary digit – pezzo, pezzetto: cioé l’unitá più piccola di informazione). E’ il sistema usato nei calcolatori. Dario Bianchi Fond. Informatica - Ing. Civile
10
Fond. Informatica - Ing. Civile
Sistemi Numerici Sistema Ottale R=8, d=0,1,2,3,4,5,6,7 N=dn-1•8n-1+dn-2•8n-2+ +d0•80+ d-1•8-1+d-m•8-m Esempio: 1278 = 1•82+2•81+7•80 = 8710 Dario Bianchi Fond. Informatica - Ing. Civile
11
Fond. Informatica - Ing. Civile
Sistemi Numerici Sistema Esadecimale (Base 16,indicato anche con H) R=16, d=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F N=dn-1•16n-1+dn-2•16n-2+ +d0•160+ d-1•18-1+d-m•16-m Esempio: A1H = A116 = 10•161+1•100 = 16110 Per avere 16 simboli distinti bisogna aggiungere: AH=10 CH=12 EH=14 BH=11 DH=13 FH=15 Dario Bianchi Fond. Informatica - Ing. Civile
12
Conversione dalla base 10 ad una base qualsiasi: parte intera
Conversioni di Base Conversione dalla base 10 ad una base qualsiasi: parte intera N=d0•r0+d1•r1+d2•r2+ +dn-1•rn-1 N=d0+r(d1+r(d2(… +dn-1))) Quindi dividendo N per la base r si ottiene come quoziente d1+r(d2(… +dn-1)) e come (resto d0 la cifra meno significativa). Dividendo ancora il quoziente per la base si ottiene la cifra di peso 1 e così via fino ad avere un quoziente 0 Dario Bianchi Fond. Informatica - Ing. Civile
13
Esempio di conversione dalla base 10 alla base 2: parte intera
Conversioni di Base Esempio di conversione dalla base 10 alla base 2: parte intera 11510 = 115 1 2 57 1 2 28 0 2 14 0 2 2 7 1 d0 2 3 1 d1 2 d2 1 d3 d4 d5 d6 Dario Bianchi Fond. Informatica - Ing. Civile
14
Conversione dalla base 10 alla base 2:
Conversioni di Base Conversione dalla base 10 alla base 2: parte frazionaria N=d-1•2-1+d-2• d-m•2-m Se moltiplichiamo N per la base 2 otteniamo per la parte intera d-1. Moltiplicando ancora per 2 la parte frazionaria otteniamo come parte intera d-2 etc. Il risultato termina quando il risultato della moltiplicazione e’ esattamente 1 o quando si é raggiunta la precisione voluta (una rappresentazione puo’ essere finita in una base e infinita in un’altra). Dario Bianchi Fond. Informatica - Ing. Civile
15
Esempio di conversione dalla base 10 alla base 2: parte frazionaria
Conversioni di Base Esempio di conversione dalla base 10 alla base 2: parte frazionaria × 2 × 2 = d-1 0.500 × 2 d-2 1.000 × 2 d-3 Dario Bianchi Fond. Informatica - Ing. Civile
16
Fond. Informatica - Ing. Civile
Conversioni di Base Esempio di conversione dalla base 10 alla base 2: parte intera e frazionaria Per convertire un numero che ha parte intera e parte frazionaria si effettuano le conversioni separatamente. Esempio: = = = Dario Bianchi Fond. Informatica - Ing. Civile
17
Conversione fra le basi 8 o 16 e la base 2:
Conversioni di Base Conversione fra le basi 8 o 16 e la base 2: Le notazioni in base 8 e 16 possono essere pensate come delle abbrevviazioni della notazione in base 2. Ogni cifra ottale corrisponde a 3 cifre binarie: = 5618 Ogni cifra esadecimale corrisponde a 4 cifre binarie: = ( = 17116) Dario Bianchi Fond. Informatica - Ing. Civile
18
Operazioni sui numeri binari
Come per I numeri decimali ma con le seguentui tabelle: Somma: Prodotto: + 1 10 × 1 Dario Bianchi Fond. Informatica - Ing. Civile
19
Operazioni sui numeri binari
Somma: 0+0=0 0+1=1 1+0=1 1+1=0 con riporto 1 (210) 1+1+1=1 con riporto 1 (310) + 1 10 111 riporto 10110+ 11101 110011 Dario Bianchi Fond. Informatica - Ing. Civile
20
Operazioni sui numeri binari
Sottrazione: 0-0=0 1-0=1 1-1=0 0-1=1 con un prestito dal bit piu’ a sinistra. + 1 10 riporto 1110- 0101 110011 riporto 1100 1001 0011 Dario Bianchi Fond. Informatica - Ing. Civile
21
Operazioni sui numeri binari
Prodotto: 1011 1101 1011+ 0000- 01011+ 1011-- × 1 Dario Bianchi Fond. Informatica - Ing. Civile
22
Operazioni sui numeri binari
Divisione: 101 011 11 100 00 × 1 Dario Bianchi Fond. Informatica - Ing. Civile
23
Rappresentazione degli interi positivi
Quante cifre sono necessarie per rappresentare in numero X in base 2 ? Se usiamo k bit abbiamo 2k configurazioni possibili. Possiamo quindi rappresentare i numeri compresi fra 0 e 2k-1 Dario Bianchi Fond. Informatica - Ing. Civile
24
Rappresentazione degli interi positivi
Tutti I numeri x con 2k < x ≤ 2k - 1 richiedono k bit per essere rappresentati Anche 2k-1 < x + 1 ≤ 2k K-1 < ≤ k Quindi per rappresentare il numero x occorrono k bit con k= |¯log2(x+1) ¯| Cioé l’intero immediatamente superiore a log2(x+1) Dario Bianchi Fond. Informatica - Ing. Civile
25
Rappresentazione degli interi positivi
Il risultato vale anche per una generica base r k= |¯logr(x+1) ¯| Se B e’ il numero di cifre binarie che serve a rappresentare il numero x e D é il numero di cifre necessarie sempre per rappresentare x B/D=|¯log2(x+1) ¯| / |¯log10(x+1) ¯| = |¯log10(x+1) / log10(2) ¯| /( |¯log10(x+1) ¯| ~3.3 Occorrono all’incirca 10 cifre binarie per rappresentare 3 cifre decimali. Si usano queste abbrevviazioni: Kilo = 210 = 1024 ~ 1000 Mega = 220 = ~ Giga = 230 = ……… ~ Dario Bianchi Fond. Informatica - Ing. Civile
26
Rappresentazione dei numeri nei calcolatori
La rappresentazione naturale dei numeri interi é quella binaria. La memoria é organizzata in celle (“parole”) con un numero fisso di bit (ad esempio 8). Corrisponde a 1 • • • 8 +1 Usando 8 cifre binaerie (bit) possiamo rapprtesentare I numeri compresi fra 0 e 28-1 = 255 1 Dario Bianchi Fond. Informatica - Ing. Civile
27
Rappresentazione dei numeri nei calcolatori
L’uso un numero finito di cifre porta ad una aritmetica modulare. Pensiamo a degli incrementiunitari. (0) (1) (2) ……….. (255) (1) (256 -> 0) Quando si raggiunge il numero 255 (tutti 1) non potendo rappresentare il 256 che richiederebbe 9 bit si torna allo 0. Si ha quindi una aritmetica modulo 256. In generale se si usano parole di k bit si ha una aritmetica modulo k. Dario Bianchi Fond. Informatica - Ing. Civile
28
Rappresentazione degli interi relativi
Disponendo di k bit si possono avere 2k configurazioni diverse. Metá devono essre usate per I numeri positivi, l’ altra metá per quelli negativi. Ci sono due possibili rappresentazioni: in modulo e segno in complemento a 2 Dario Bianchi Fond. Informatica - Ing. Civile
29
Rappresentazione degli interi relativi in modulo e segno
Il bit più significativo viene usato per rappresentare il il segno: 0 per i numeri positivi 1 per quelli negativi Le cifre restanti rappresentano il modulo +510 -> -1010-> Lo zero ha due rappresentazioni: (+0) e (-0) modulo segno Dario Bianchi Fond. Informatica - Ing. Civile
30
Rappresentazione degli interi relativi in modulo e segno
Algoritmo di somma: Confrontare I bit di segno dei due numeri Se sono uguali: Somma i moduli Assegna come bit di segno del risultato il bit di segno degli operandi Altrimenti: Confronta i valori assoluti dei due numeri Assegna come bit di segno del risultato quello dell’operando con modulo maggiore Sottari i moduli nell’ordine giusto Macchinoso!! (Analoga la sottrazione). Dario Bianchi Fond. Informatica - Ing. Civile
31
Fond. Informatica - Ing. Civile
Complemento Complemento alla base: Dato un numero x di base r e di k cifre é definito come rk - x Complemento alla base -1: rk -1- x Dario Bianchi Fond. Informatica - Ing. Civile
32
Fond. Informatica - Ing. Civile
Complemento Complemento a 2: 2k – x Es: x= k=8 = Complemento a 1: 2k -1- x Dario Bianchi Fond. Informatica - Ing. Civile
33
Fond. Informatica - Ing. Civile
Complemento Complemento a 1: 2k -1- x Lo si ottirne semplicemete scambiando 0 con 1 e 1 con 0 Es: x= k=8 x complemento di x Complemento a 2: 2k – x Si fa il complemento ad 1 di x e gli si somma 1 x complemento a 1 1 = sommo 1 complemento a 2 Dario Bianchi Fond. Informatica - Ing. Civile
34
Rappresentazione dei numeri negativi in complemento a 2
Supponiamo di avere una cella di k bit I numeri positivi vengono rappresentati dal loro modulo e hanno il bit piu’ significativo (segno) = 0 I numeri negativi vengono rappresentati facendo il complemento a due del corrispondente numero positivo. Hanno il bit piu’ significativo (segno) = 1 Si rappresentano come positivi i numeri da 0 a 2k-1-1 Si rappresentano come negativi i numero che vanno da -2k-1 a -1 Dario Bianchi Fond. Informatica - Ing. Civile
35
Rappresentazione dei numeri negativi in complemento a 2
Supponendo una cella di 8 bit (k=8, 2k=256) 2k-1-1 = 127 -2k-1 = -128 Dario Bianchi Fond. Informatica - Ing. Civile
36
Rappresentazione dei numeri negativi in complemento a 2
Supponiamo di voler calcolare A-B con una cella di k bit. Possiamo calcolare A + (-B) dove –B e’ il complemento a 2 di B dato da 2K-B. Si ottiene A - B = A + (-B) = A + 2K - B in quanto il termine 2K non é rappresentabile in k bit. Per fare una sottrazione possiamo sommare il complemento a 2 del secondo operando Dario Bianchi Fond. Informatica - Ing. Civile
37
Rappresentazione dei numeri negativi in complemento a 2
Come possiamo interpretare un numero in complemento a due? Se il bit più significativo (segno) =0 allora il numero é positivo e le sue cifre ci danno il modulo Es: = + 51 ( ) Se il bit più significativo (segno) =1 allora il numero é negativo e per avere il modulo si deve fare il complemento a 3 Es: negativo complemento a 1 1 complemento a 2 = 77 ( ) il numero originale era -77 Dario Bianchi Fond. Informatica - Ing. Civile
38
Rappresentazione dei numeri negativi in complemento a 2
Esempi (supponiamo k=5, possiamo rappresentare I numeri da -16 a + 15): 00100= +4 11100= -4 (sesto bit eliminato) Dario Bianchi Fond. Informatica - Ing. Civile
39
Rappresentazione dei numeri negativi in complemento a 2
Esempi (supponiamo k=5, possiamo rappresentare I numeri da -16 a + 15): 00100= +4 11100= -4 (sesto bit eliminato) Dario Bianchi Fond. Informatica - Ing. Civile
40
Rappresentazione dei numeri negativi in complemento a 2
Esempi (supponiamo k=5, possiamo rappresentare I numeri da -16 a + 15): 01000= +8 OVERFLOW + 17 non e’ rappresentabile con 5 bit 10111= -9 (sesto bit eliminato) OVERFLOW -18 non e’ rappresentasbile Con 5 bit Dario Bianchi Fond. Informatica - Ing. Civile
41
Rappresentazione dei numeri negativi in complemento a 2
OVERFLOW (Supero di capacitá) Si ha quando il risultato non é rappresentabile con il numero di bit disponibili. Si ha solo sommando due numeri entrambi positivi o entrambi negativi. In questo caso il segno del risultato risulta opposto a quello degli operandi. Dario Bianchi Fond. Informatica - Ing. Civile
42
Operazioni di Shift (Scorrimento)
1 Shift a sinistra: moltiplica per 2 1 Shift a destra: divide per 2 1 Dario Bianchi Fond. Informatica - Ing. Civile
43
Numeri reali Rappresentazione in virgola fissa
Dobbiamo supporre di utilizzare n bit per la parte intera e m bit per la parte frazionaria: xxxxx.xxx Il numero Corrisponderebbe (usando le ultime tre cifre come parte frazionaria) a: 1•24 + 1•23 + 1• •2-3 = Dario Bianchi Fond. Informatica - Ing. Civile
44
Numeri reali Rappresentazione in virgola fissa
La rappresentazione in virgola fissa limita fortemente l’intervallo numerico utilizzabile. Possiamo infatti rappresentare numeri da 2-3=0.125 a 25=31 Il numero di cifre significative dipende dal suo valore assoluto: = ha 8 cifre significative Anche = ha 8 cifre significative Ma nella rappresentazione in virgola fissa diventerebbe: =9.75 con notevole perdita di precisione. Dario Bianchi Fond. Informatica - Ing. Civile
45
Numeri reali Rappresentazione in virgola mobile (Floating point)
Notazione esponenziale pio’ essere scritto come 1.25 • 1011 Anche nella notazione binaria possiamo dire = • 24 = • 2-2 In questo caso la precisione del numero non dipende dal suo valore assoluto. Dario Bianchi Fond. Informatica - Ing. Civile
46
Numeri reali Rappresentazione in virgola mobile (Floating point)
Semplice precisione: 1 bit segno mantissa 1 bit segno esp[onente 23 bit modulo mantissa 7 bit modulo esponente La mantissa consente una precisione 23/3.3 cifre decimali. L’esponente puó variare da -127 a +127 ed il range di un numero floating point é fra e Dario Bianchi Fond. Informatica - Ing. Civile
47
Numeri reali Rappresentazione in virgola mobile (Floating point)
Semplice precisione: 1 bit segno mantissa 1 bit segno esp[onente 23 bit modulo mantissa 7 bit modulo esponente La mantissa consente una precisione 23/3.3 cifre decimali. L’esponente puó variare da -127 a +127 ed il range di un numero floating point é fra e Dario Bianchi Fond. Informatica - Ing. Civile
48
Fond. Informatica - Ing. Civile
Precisione Interi “corti” 16 bit = 2 byte da ~ a ~ “lunghi” 32 bit =4 byte da ~ a ~ Floating point Semplice precisione 32 bit = 4 byte Doppia precisione bit = 8 byte Dario Bianchi Fond. Informatica - Ing. Civile
49
Operazioni sui numeri Floating Point
Moltiplicazione (divisione): Si moltipliclano (o si dividono) le mantisse Si sommano (o si sottraggono) gli esponenti Condizione di errore OVERFLOW: si ha un esponente (positivo) troppo grande (1.15•290•1.99•285) UNDERFLOW: si ha un esponente (negativo) troppo piccolo (1.15•2-90•1.99•2-85) Divisione per Zeri: operazione non ammessa. Dario Bianchi Fond. Informatica - Ing. Civile
50
Operazioni sui numeri Floating Point
Addizione e sottrazione: Bisogna prima allineare I due operandi: Es: • • 10-2 = • • 10-2 Si puo’ avere una perdita di precisione nell’allineamento dei due numeri (si perdono le cifre meno significative del numero con esponente più piccolo). Dario Bianchi Fond. Informatica - Ing. Civile
51
Fond. Informatica - Ing. Civile
Codici Codice: sistema di simboli che permette la rappresentazione dell’informazione Esempi: Decodifica agevole vs codici compressi Dario Bianchi Fond. Informatica - Ing. Civile
52
Fond. Informatica - Ing. Civile
Definizioni SIMBOLO: entità di cui non si da qui una definizione formale STRINGA: sequenza finita di simboli giustapposti (lunghezza della stringa, stringa vuota) ALFABETO: insieme finito di simboli LINGUAGGIO: insieme di stringhe di simboli tratti da un alfabeto Dario Bianchi Fond. Informatica - Ing. Civile
53
Fond. Informatica - Ing. Civile
Esempi di alfabeti Alfabeto italiano: {A, B, C, D, …Z} Alfabeto greco: {α, β, γ, δ, ...ω} Alfabeto binario: {0, 1} Dario Bianchi Fond. Informatica - Ing. Civile
54
Alfabeto usato dal calcolatore
Interruttore (aperto/chiuso) Foro su scheda (aperto/chiuso) Transistor (in conduzione/spento) Tensione (alta/bassa) Dominio di magnetizzazione (/) Riflettività di un’areola (alta/bassa) Dario Bianchi Fond. Informatica - Ing. Civile
55
Alfabeto usato dal calcolatore
Gli elaboratori utilizzano una logica e un’aritmetica binaria Ai due stati di un dispositivo vengono associati i due simboli 0 e 1 Dario Bianchi Fond. Informatica - Ing. Civile
56
Fond. Informatica - Ing. Civile
Codifica dei simboli E’ necessario determinare delle regole di corrispondenza, dette codifiche La codifica mette in corrispondenza (biunivoca) ogni simbolo appartenente all’alfabeto più ricco con una stringa di simboli appartenente all’alfabeto più ridotto. Dario Bianchi Fond. Informatica - Ing. Civile
57
Fond. Informatica - Ing. Civile
Codifica Problema: codificare i simboli dell’alfabeto A utilizzando stringhe del linguaggio L, con A qualsiasi e L={ stringhe di N bit } Cardinalità C dell’alfabeto A: numero di elementi di A Dario Bianchi Fond. Informatica - Ing. Civile
58
Fond. Informatica - Ing. Civile
Codifiche ridondanti Codifiche ridondanti Dario Bianchi Fond. Informatica - Ing. Civile
59
Fond. Informatica - Ing. Civile
Distanza di Hamming E’ definita come il minimo numero di bit di cui differiscono due parole qualsiasi del codice se N=M si ha che H=1 se c’è ridondanza, H1 Dario Bianchi Fond. Informatica - Ing. Civile
60
Rilevazione e correzione di errori
La ridondanza può servire per rilevare o correggere errori nel codice Num di errori rilevati: R = H-1 Num di errori corretti: Dario Bianchi Fond. Informatica - Ing. Civile
61
Esempio di codifica ridondante
Parità: si ottiene dal codice non ridondante aggiungendo un simbolo in modo che il numero di ‘1’ sia pari (parità pari) o dispari (parità dispari). Avendo H=2 può solo rilevare un errore Dario Bianchi Fond. Informatica - Ing. Civile
62
Fond. Informatica - Ing. Civile
Codice BCD BCD: Binary Coded Decimal Simbolo: Codifica: Con Parita`: … Dario Bianchi Fond. Informatica - Ing. Civile
63
Codici autocorrettivi
Per avere la possibilita’ di correggere bisogna avere una distanza di Hamming H>=2 Esempio (Non realistico: in realta` la ridondanza puo’ essere piu’ bassa) Codici: 0 111 (H=3) {001,010,100} sono codici errati 0 {110,101,011} sono codici errati 1 Dario Bianchi Fond. Informatica - Ing. Civile
64
Fond. Informatica - Ing. Civile
Codice ASCII American Standard Code for Information Interchange 7 bit quindi simboli diversi ASCII esteso (8bit) diverse estensioni in dipendenza dal paese oppure aggiunge la parità Dario Bianchi Fond. Informatica - Ing. Civile
65
Fond. Informatica - Ing. Civile
ALGEBRA BOOLEANA Boole matematico inglese (XIX secolo) La sua algebra viene utilizzata solo dall’inizio del XX secolo (primi sistemi di calcolo) Si basa su due soli stati: acceso (ON) spento (OFF) Dario Bianchi Fond. Informatica - Ing. Civile
66
Fond. Informatica - Ing. Civile
Variabili booleane Le variabili possono assumere solo due valori: 0 e 1 Si chiamano Variabili logiche o booleane Dario Bianchi Fond. Informatica - Ing. Civile
67
Fond. Informatica - Ing. Civile
Funzioni booleane Usando le variabili booleane, si possono costruire le funzioni booleane F(x,y,z) che possono assumere solo due stati: true false Dario Bianchi Fond. Informatica - Ing. Civile
68
Fond. Informatica - Ing. Civile
Tabella della verità Ogni funzione booleana è caratterizzata dalla propria tabella della verità x y z F Dario Bianchi Fond. Informatica - Ing. Civile
69
Fond. Informatica - Ing. Civile
Funzioni booleane Funzioni completamente specificate: se per tutte le combinazioni delle variabili il suo valore è determinato Esempio: uno studente può chiedere la tesi solo se ha superato tutti gli esami ed è regolarmente iscritto Dario Bianchi Fond. Informatica - Ing. Civile
70
Fond. Informatica - Ing. Civile
Funzioni booleane Funzioni non completamente specificate: se a una o più combinazioni delle sue variabili non corrisponde alcun valore della funzione Esempio: uno studente si laurea solo se ha superato tutti gli esami e ha svolto la tesi Dario Bianchi Fond. Informatica - Ing. Civile
71
Fond. Informatica - Ing. Civile
Costanti booleane Oltre alle variabili vi sono anche le costanti Essendo l’Algebra Booleana definita su due soli simboli, esistono solo due costanti: 1 Dario Bianchi Fond. Informatica - Ing. Civile
72
Fond. Informatica - Ing. Civile
Operatori logici Tra le variabili e le costanti possono intervenire delle relazioni Le relazioni si esprimono utilizzando gli operatori logici Definiti insieme agli operatori logici, i postulati definiscono il loro comportamento Dario Bianchi Fond. Informatica - Ing. Civile
73
Fond. Informatica - Ing. Civile
Tipi di operatori Esistono due tipi di operatori, in dipendenza dal numero di variabili che utilizzano: monadici diadici Dario Bianchi Fond. Informatica - Ing. Civile
74
Fond. Informatica - Ing. Civile
L’operatore NOT Il risultato è il complemento dell’unica variabile x NOT x Dario Bianchi Fond. Informatica - Ing. Civile
75
Fond. Informatica - Ing. Civile
L’operatore AND Il risultato è vero solo se sono vere entrambe le variabili a b a AND b Dario Bianchi Fond. Informatica - Ing. Civile
76
Fond. Informatica - Ing. Civile
L’operatore OR Il risultato è vero solo se è vera almeno una delle variabili a b a OR b Dario Bianchi Fond. Informatica - Ing. Civile
77
Fond. Informatica - Ing. Civile
L’operatore XOR Il risultato è vero solo se è vera solo una delle due variabili a b a XOR b Dario Bianchi Fond. Informatica - Ing. Civile
78
Operatori - nomenclatura
NOT: inversione ( ¯ ) AND: prodotto logico ( · ) OR: somma logica ( + ) XOR: or esclusivo ( ) Dario Bianchi Fond. Informatica - Ing. Civile
79
Fond. Informatica - Ing. Civile
Operatori universali Con gli operatori NOT, OR, AND, XOR si possono costruire tutte le funzioni booleane Esistono due operatori (NAND, NOR) che permettono la sintesi di qualsiasi funzione, utilizzando un unico tipo di operatori Dario Bianchi Fond. Informatica - Ing. Civile
80
Fond. Informatica - Ing. Civile
L’operatore NAND Il risultato è vero solo se è falso l’AND tra le due variabili a b a NAND b Dario Bianchi Fond. Informatica - Ing. Civile
81
Fond. Informatica - Ing. Civile
L’operatore NOR Il risultato è vero solo se è falso l’OR tra le due variabili a b a NOR b Dario Bianchi Fond. Informatica - Ing. Civile
82
Fond. Informatica - Ing. Civile
Espressioni logiche Un insieme di variabili e/o costanti booleane a cui siano applicati gli operatori logici si dice espressione booleana o logica Una espressione logica rappresenta una funzione logica: ad esempio: Dario Bianchi Fond. Informatica - Ing. Civile
83
Precedenze tra operatori
Le precedenze sono simili al + e al x dell’algebra consueta: priorità alta x priorità bassa + Dario Bianchi Fond. Informatica - Ing. Civile
84
Proprietà dell’algebra booleana
X·0 = X+1 = 1 X·1 = X X+0 = X X·X = X X+X = X idempotenza X·X = X+X = complementazione X·Y = Y·X X+Y = Y+X commutativa X·(X+Y) = X X+(X·Y) = X assorbimento X·(X+Y) = X ·Y X+(X·Y) = X+Y assorbimento X·(Y+Z) = X·Y+X·Z X+(Y·Z) = (X+Y)·(X+Z) distributiva Dario Bianchi Fond. Informatica - Ing. Civile
85
Proprietà dell’algebra booleana
X·(Y·Z) = (X·Y) ·Z = X·Y·Z X+(Y+Z) = (X+Y)+Z = X+Y+Z associativa ( X ) = X X·Y = X + Y X+Y = X ·Y De Morgan Dario Bianchi Fond. Informatica - Ing. Civile
86
Proprietà operatori universali
NOR () NAND () X 1 = 0 X 0 = 1 X 0 = X X 1 = X X X = X X X = X X Y = X·Y X Y = X+Y X Y = X+Y X Y = X·Y Dario Bianchi Fond. Informatica - Ing. Civile
87
Fond. Informatica - Ing. Civile
Sommattore xn yn c n-1 x1 y1 c0 x0 y0 c0 cn rn c1 r1 c0 r0 Dario Bianchi Fond. Informatica - Ing. Civile
88
Fond. Informatica - Ing. Civile
Sommatore xi yi ci-1 ri ci 1 ri = (xi yi) ci-1 ci = ci-1 (xiyi) + xiyi Dario Bianchi Fond. Informatica - Ing. Civile
89
Fond. Informatica - Ing. Civile
Reti logiche Reti combinatorie: le uscite dipendono solo dagli ingressi Reti sequenziali: le uscite dipendono dagli ingressi e dalle uscite precedenti (Effetti di memoria: latch, flip-flop) Dario Bianchi Fond. Informatica - Ing. Civile
90
Fond. Informatica - Ing. Civile
Latch RS Q = stato precedente Q’=Stato successivo R S Q Q’ 1 - Q r Q s Dario Bianchi Fond. Informatica - Ing. Civile
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.