Codifica binaria e algebra di Boole



Похожие документы
Sommario. Teoremi Maxterm Forme Canoniche Mappe di Karnaugh Fine lezione

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

APPUNTI DI ELETTRONICA DIGITALE

Le Mappe di Karnaugh.

4 3 4 = 4 x x x 10 0 aaa

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Informatica. Rappresentazione dei numeri Numerazione binaria

Sistemi di Numerazione

2. Codifica dell informazione

2.12 Esercizi risolti

Informazione analogica e digitale

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

Elementi di informatica

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Codifica binaria dei numeri relativi

Informatica Generale 02 - Rappresentazione numeri razionali

I sistemi di numerazione

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

I.I.S. Primo Levi Badia Polesine A.S

Fondamenti di Informatica

Logica e codifica binaria dell informazione

Rappresentazione dei numeri in un calcolatore

Sistemi di Numerazione Binaria NB.1

Calcolatori: Algebra Booleana e Reti Logiche

SISTEMI DI NUMERAZIONE E CODICI

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Algebra di Boole. Le operazioni base sono AND ( ), OR ( + ), NOT ( )

Laboratorio di Informatica

Elementi di Informatica e Programmazione

Aritmetica dei Calcolatori 1

Alcune nozioni di base di Logica Matematica

Rappresentazione delle informazioni

Alessandro Pellegrini

Esercitazione Informatica I AA Nicola Paoletti

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

ESEMPIO 1: eseguire il complemento a 10 di 765

Rappresentazione dell informazione Codifica Binaria

Codifica binaria dei numeri

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione

Materiale di approfondimento: numeri interi relativi in complemento a uno

Codifica dei numeri negativi

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Algebra di Boole ed Elementi di Logica

Algoritmo = Dati e Azioni Sistema numerico binario Rappresentazioni di numeri binari Rappresentazione in modulo e segno

ESERCIZI di FONDAMENTI DI INFORMATICA RAPPRESENTAZIONE DEI NUMERI

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

La codifica delle informazioni

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

Definizioni iniziali

Comparatori. Comparatori di uguaglianza

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Variabili logiche e circuiti combinatori

Sistemi di numerazione: generalità

Algebra Booleana ed Espressioni Booleane

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

L'informazione e la sua codifica

Rappresentazione binaria

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA NOTAZIONE SCIENTIFICA

Aritmetica dei Calcolatori 2

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Parte 1. Vettori di bit - AA. 2012/13 1.1

Introduzione. Università degli studi di Cassino. Ing. Saverio De Vito Tel.:

Aritmetica: operazioni ed espressioni

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Dispense di Informatica per l ITG Valadier

Elementi di informatica

la scienza della rappresentazione e della elaborazione dell informazione

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

I SISTEMI DI NUMERAZIONE

La codifica binaria. Informatica B. Daniele Loiacono

SISTEMI DI NUMERAZIONE

Operazioni binarie fondamentali

Rappresentazione di informazioni con un alfabeto finito

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

FORMULE: Operatori matematici

- Sistemi di numerazione 1 - Sistemi di Numerazione

Convertitori numerici in Excel

La codifica dell informazione

la scienza della rappresentazione e della elaborazione dell informazione

Nel seguito verranno esaminati i diversi tipi di dato e il modo in cui essi sono rappresentati all interno del calcolatore.

Lezioni di Matematica 1 - I modulo

Транскрипт:

Codifica binaria e algebra di Boole Corso di Programmazione A.A. 2008/09 G. Cibinetto

Contenuti della lezione Codifica binaria dell informazione Numeri naturali, interi, frazionari, in virgola mobile Base ottale ed esadecimale Rappresentazione dei numeri L algebra di Boole 2

Codifica binaria dell informazione Numeri Naturali

Rappresentazione in base p Metodo posizionale: ogni cifra ha un peso Esempio: 123 = 100 +20 +3 Di solito noi usiamo la base decimale Un numero generico di m cifre e` rappresentato quindi dalla sequenza: a n, a n-1, a n-2,..., a 0 a n : cifra piu` significativa a 0 : cifra meno significativa n= m-1 a i {0, 1,..., p-1} 4

Rappresentazione in base p Un numero naturale N, composto da m cifre, in base p, si esprime come: Esempio in base decimale(p=10): 563 10 = (5 10 2 +6 10 1 +3 10 0 ) 10 Base sette (p=7): 563 7 = (5 7 2 +6 7 1 +3 7 0 ) 10 Posso rappresentare i numeri nell intervallo discreto:[0, p m -1] 5

Codifica in base due Base binaria: p=2; cifre a i {0, 1} chiamate bit (binary digit) Esempio, con m=5: 110112= (1 2 4 +1 2 3 +0 2 2 +1 2 1 +1 2 0 ) 10 = 27 10 Posso rappresentare i numeri nell intervallo discreto: [0, 2 m -1] Esempio con m=8: rappresento numeri binari: [00000000 2, 11111111 2 ], ovvero: [0, 255] 6

Conversioni di base Per convertire da base due a base 10: Usare la sommatoria illustrata nel lucido precedente Per convertire da base dieci a base due: Metodo delle divisioni successive 7

Somma di numeri binari L'addizione del sistema binario deve seguire quattro semplici regole: 8

Differenza di numeri binari Per quanto possa sembrare strano: i computer non sono in grado di sottrarre, ma solo di addizionare. Sottrarre un numero, però, equivale ad addizionare un numero negativo. Il computer, che lavora con degli zero e degli uno, non può mettere un segno meno davanti ad un numero, ma deve trovare il complemento due del numero stesso. Questa procedura consiste nel trasformare tutte le cifre del numero: gli 1 diventano 0 e gli 0 diventano 1, poi alla cifra ottenuta si somma un uno. 9

Differenza di numeri binari Esempio: Si debba sottrarre 3 da 5, cioè fare 5-3. In binario 3 è 0011. Il complemento uno: 1100 Il complemento due: 1101. Perciò: Tramite il complemento due una sottrazione viene eseguita come un'addizione. Il riporto viene trascurato. Esso è uno se il risultato è positivo, 0 se è negativo. Sul numero negativo è necessario rifare il complemento due. Esercizio 1) Prova delle sottrazioni binarie con sottraendo maggiore e minore in valore assoluto rispetto al minuendo. 10

Esercizi Pensare un algoritmo per Il prodotto di due numeri binari la divisione di due numeri binari 11

Base ottale ed esadecimale Base ottale: p=8; ai {0, 1, 2, 3, 4, 5, 6, 7} Esempio: 2348= (2 8 2 +3 8 1 +4 8 0 ) 10 = 156 10 Base esadecimale: p=16; ai {0, 1, 2,, 9, A, B, C, D, E, F} Esempio: B7F 16 = (11 16 2 +7 16 1 +15 16 0 ) 10 = 2943 10 Notare: 11 al posto di B e 15 al posto di F, i loro equivalenti in base dieci 12

Numeri interi Non posso memorizzare il segno, uso una codifica Uso un bit per memorizzare il segno: 1 significa numero negativo, 0 numero positivo. Esempio m=3: 13

Frazioni Rappresentiamo la parte frazionariadi un numero reale In base due, un numero frazionario N, composto da n cifre, si esprime come: Esempio con n=3: 0.101 2 =(1 2-1 +0 2-2 +1 2-3 ) 10 = 0.625 10 Date n cifre in base p=2, posso rappresentare numeri nell intervallo continuo: [0, 1-2 -n ] L errore di approssimazione sara` minore di 2 -n 14

Esercizio Conversione di un numero frazionario da base 10 a base 2 Trovare l algoritmo per convertire un numero da una base p a una base q qualsiasi. 15

Virgola mobile Il numero puo` essere espresso come: r = m b n m e n sono in base p m: mantissa (numero frazionario con segno) b: base della notazione esponenziale (numero naturale) n: caratteristica (numero intero) Esempio (p=10, b=10): -331,6875 = -0,3316875 10 3 m= -0,3316875; n= 3 Uso l1 bit e l2 bit per codificare m e n Precisione variabile lungo l asse reale R: 16

Caratteri Codifica numerica ASCII (American Standard Code for Information Interchange) utilizza 7 bit (estesa a 8 bit) L ASCII codifica: I caratteri alfanumerici (lettere maiuscole e minuscole e numeri), compreso lo spazio I simboli (punteggiatura, @, #, ) Alcuni caratteri di controllo che non rappresentano simboli visualizzabili (TAB, LINEFEED, RETURN, BELL, ecc) 17

Tabella ASCII 18

L algebra di Boole

Algebra booleana In matematica ed informatica, le algebre booleane, o reticoli booleani, sono strutture algebriche che rivestono una notevole importanza per varie ragioni: "catturano l'essenza" degli operatori logici AND, OR e NOT permettono di trattare in termini algebrici questioni riguardanti singoli bit (0 e 1), sequenze binarie, matrici binarie (e di conseguenza, attraverso le loro matrici di incidenza i digrafi) e altre funzioni binarie (si tenga presente anche la nozione di funzione indicatrice) 20

Variabili Booleane Variabile binaria: grandezza matematica che può assumere due soli valori: 0 o 1. Sulle variabili binarie definiamo tre operatori: negazione, somma e prodotto. I matematici usano spesso il simbolo + per l'or, e per l'and, in quanto per alcuni versi questi operatori lavorano in modo analogo alla somma e alla moltiplicazione. La negazione NOT viene rappresentata spesso da una linea disegnata sopra l'argomento della negazione, cioè dell'espressione che deve essere negata. 21

Negazione La negazione di una variabile binaria x si indica con x oppure ( non x o x negato ) Possiamo rappresentare il valore di tramite tabella di verità: x 0 1 1 0 22

Somma logica - OR La somma di n variabili binarie x1, x2, x3, --- x n vale 0 solo se tutte le x i (1 i n) valgono contemporaneamente 0, vale 1 in ogni altro caso. x 1 x 2 x 1 + x 2 0 0 0 0 1 1 1 0 1 1 1 1 23

Prodotto logico - AND Il prodotto di n variabili binarie x1, x2, x3, --- x n vale 1 solo se tutte le x i (1 i n) sono contemporaneamente 1, vale 0 in ogni altro caso x 1 x 2 x 1. x 2 0 0 0 0 1 0 1 0 0 1 1 1 24

Proprieta Per la negazione valgono le seguenti relazioni e proprietà: Negazione 0 = 0 1 = 1 x = x x + x = 1 x x = 0 25

Proprieta Le relazioni e proprietà degli operatori somma e prodotto logico sono riportate nella tabella Somma Prodotto x + 1 = 1 x 0 = 0 x + 0 = x x 1 = x x 1 + x 2 = x 2 + x 1 x 1 x 2 = x 2 x 1 x 1 + x 2 + x3 = (x 1 + x 2 ) + x3 x 1 x 2 x3= (x 1 x 2 ) x3 x 1 x 2 + x 1 x 3 = x 1 (x 2 + x3) (x 1 + x 2 ) (x 1 + x3) = x 1 + x2 x3 26

Funzioni Con n variabili binarie (x 1, x 2, x n ) si possono formare 2 n configurazioni diverse. Se prendiamo, ad esempio, 2 variabili: x 1, x 2 dato che ognuna di loro può valere 0 od 1, si possono creano le seguenti quattro (2 2 ) configurazioni diverse: 00, 01, 10, 11. Così con 3 variabili binarie si potranno formare al massimo 2 3 =8 configurazioni diverse che sono: 000, 001, 010, 011, 100, 101, 110, 111. 27

Funzioni Diremo che una variabile y è funzione di n variabili indipendenti x 1, x 2, x n e si scrive: y = F (x 1, x 2, x n ) quando esiste un criterio che fa corrispondere in modo univoco ad ognuna delle 2 n configurazioni di x un determinato valore y (ovviamente 0 o 1). 28

Funzioni booleane Tutte le diverse funzioni di n variabili (x 1,x 2, x n ) che si possono costruire sono pari a (2 2 ) n Ad esempio tutte le diverse funzioni che si possono formare con 3 variabili sono pari a (2 2 ) 3 = 2 8 = 256 29

Esempi di funzioni booleane 30

Minterm Se consideriamo 3 variabili, la scrittura x 1 x 2 x 3 = 011 indica tra le 2 3 =8 configurazioni possibili, quella in cui x 1 vale 0, x 2 vale 1 e x 3 vale 1. Questa configurazione si scrive semplicemente con il prodotto 1 x 2 x 3 Se in una configurazione una variabile compare con 1 si assume il valore diretto se invece compare con uno 0 si assume il valore negato. Se consideriamo una funzione di 3 variabili che ha 3 configurazioni in cui la stessa vale 1: ad esempio la funzione vale 1 per le seguenti configurazioni: 1 x 2 3 1 x 2 x 3 x 1 2 x 3 Ciascuno di questi prodotti si chiama minterm Considerando una riga della tabella di verita si definisce mintermine il prodotto delle variabili booleane relative a tal riga prese in forma diretta o complementata a seconda se assumono valore 1 o 0. 31

Minterm La funzione conoscendo la sua tabella di verità, potrà essere espressa sotto forma di somme di prodotti dei termini minimi. Nel caso della funzione in esempio scriveremo y = 1 x 2 3 + 1 x 2 x 3 + x 1 2 x 3 Se una funzione è direttamente espressa sotto forma di somme di minterm sarà possibile costruire la sua tabella di verità, mettendo 1 nelle configurazioni relative ai minterm, e 0 negli altri casi. 32

Minterm Ad esempio data la funzione di 3 variabili F(x,y,z) = x z + xy + yz la sua tabella di verità sarà: x y z F(x,y,z) 0 0 0 0 0 0 1 0 0 1 0 0 yz 0 1 1 1 1 0 0 0 x z 1 0 1 1 xy 1 1 0 1 1 1 1 0 33

Teoremi TEOREMI Diretto Duale Idempotenza x + x + x + --- x = x x x x --- x = x x + xy = x x (x +y) = x Assorbimento x + x y = x + y x (x + y) = x y xy +yz + x z = xy + x z (x +y) (y+z) (x +z) = (x+y) (x +z) De Morgan (x+y) = x y (x y) = x + y 34

Teorema di De Morgan Il significato del teorema di De Morgan Esempio: non (ho i soldi o la carta di credito) = non ho i soldi e non ho la carta di credito Semplificazione: da tre operazioni passo a due! 35

Maxterm Il teorema di De Morgan applicato alle funzioni ci permette di scriverle sotto forma di prodotti di somme, ad esempio: y = (x1+x2+x3) (x1+x2+x 3) (x1+x 2+x 3) (x 1+x 2+x3) (x 1+x 2+x 3) Ciascuna delle somme si chiama maxterm (termine massimo). Si definisce maxtermine la somma delle variabili booleane prese in forma diretta o negata a seconda se assumono valore 0 o 1. 36

Maxterm L espressione della y come prodotto di maxterm si può ottenere dalla tabella di verità della funzione; ci sono tanti maxterm quanto sono i valori 0 della funzione; ogni maxterm è la somma di tutte le variabili dirette o negate a seconda che la configurazione contenga 1 o 0. Con n variabili abbiamo 2 n mintermini e maxtermini 37

Forma Canonica Entrambe le espressioni della funzione sotto forma di: somme di prodotti (minterm) prodotti di somme (maxterm) si chiamano forme canoniche di una funzione binaria. 38

Mappe di Karnaugh Una funzione booleana puo essere rappresentata, oltre che con la tabella di verita`, con le mappe di KARNOUGH Le mappe di Karnaugh sono delle tabelle che permettono in modo immediato la rappresentazione e la semplificazione di funzioni booleane fino 6 variabili. Mappa di K. per funzione ad 1 variabile x 0 1 x x Mappa di K. per funzione a 2 variabili x,y con all interno x 0 1 rappresentati i relativi minterm y 0 x y xy 1 x y xy 39

Mappe di Karnaugh La mappa di K. per una funzione a 3 variabili x,y,z è un rettangolo diviso in 8 celle come nell esempio. Al solito dentro le celle sono stati scritti i relativi minterm. z xy 00 01 11 10 0 x y z x yz xyz xy z 1 x y z x yz xyz xy z Le coordinate della tabella vanno sistemate in modo che nel passaggio da una cella all altra ci sia un sola variazione. Infatti le coordinate per la xy saranno 00 01 11 10. 40

Mappe di Karnaugh xy vz 00 01 11 10 00 x y v z x yv z xyv z xy v z 01 x y v z x yv z xyv z xy v z 11 x y vz x yvz xyvz xy vz Una mappa di K. per 4 variabili x,y,v,z è un quadrato diviso in 16 celle. All interno indichiamo al solito i relativi minterm. 10 x y vz x yvz xyvz xy vz 41

Mappe di Karnaugh Le Mappe di K. costituiscono un altro metodo per rappresentare una funzione booleana; basta scrivere 1 in quelle caselle che hanno le coordinate della tabella di verità in cui la funzione vale 1. x y z F(x,y,z) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 xy z 00 01 11 10 0 1 1 1 1 1 1 42

Esercizi Trovare tabella della verita e mappe di Karnaugh delle seguenti funzioni: Y + Z X V XZ + Z 43

Fine lezione