Informatica 3 Codifica binaria.

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
Aritmetica Binaria
Informatica Generale Susanna Pelagatti
Informatica Generale Marzia Buscemi IMT Lucca
Sistemi di numerazione
Rappresentazione di Numeri Reali
Circuiti Aritmetico-Logici
Rappresentazioni numeriche
Trasmissione delle informazioni
Algebra di Boole e Funzioni Binarie
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Fondamenti di Informatica I Facoltà di Ingegneria Informatica Esercitazione.
Algebra binaria Luglio 2002 Luglio 2002 Algebra binaria.
Esercitazioni su rappresentazione dei numeri e aritmetica
Circuiti di memorizzazione elementari: i Flip Flop
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Fenomeni transitoriFenomeni transitori Somma e differenza di due numeri in C2Somma e differenza.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Somma e differenza di due numeri in C2Somma e differenza di due numeri in C2 Half AdderHalf.
A.S.E.6.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 6 Complemento a MComplemento a M Rappresentazione di numeri con segnoRappresentazione di numeri.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Fenomeni transitoriFenomeni transitori Somma e differenza di due numeri in C2Somma e differenza.
Sistemi di Numerazione
Corso di Informatica (Programmazione)
Corso di Informatica (Programmazione)
Settembre 2002IFTS2002 Acq. Dati Remoti: INFORMATICA 1 Rappresentazione dellinformazione (1)
Ottobre Arch. degli elab. Mod. A – 1. Rappresentazione dellinformazione1 Rappresentazione dei numeri interi.
Confronto di due signed (in compl. a 2) Caso 1: numeri dello stesso segno Non ci può essere overflow (sottraendo, viene fuori un numero più piccolo in.
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
I CODICI.
Rappresentazioni numeriche
Rappresentazione binaria dei numeri interi senza segno.
Reti combinatorie: moduli di base
Codici binari decimali
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
Cos’è un problema?.
Display a 7 segmenti Il display a 7 segmenti è un dispositivo composto da 7 diodi luminosi LED (Light-Emitting Diode) sagomati a forma di rettangolo o.
Il sistema binario.
Codifica binaria Rappresentazione di numeri
Rappresentazione di numeri relativi (interi con segno)
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Rappresentazione di Numeri Reali
Algebra di Boole e Funzioni Binarie
RAPPRESENTAZIONE DELL’INFORMAZIONE
Rappresentazione dell’informazione
ARITMETICA BINARIA.
CONVERSIONE NUMERI INTERI CON COMPLEMENTO A DUE. I computer di oggi effettuano ogni tipo di operazione numerica, ma le prime ALU degli anni 50 erano in.
Dalle potenze ai numeri binari
Prova di verifica Fondamenti Informatica 1 15 Febbraio 2008.
Reti combinatorie: moduli di base
Linguaggi e Programmazione per l’Informatica Musicale
Linguaggi e Programmazione per l’Informatica Musicale
La rappresentazione delle informazioni in un computer Seconda parte.
La rappresentazione delle informazioni in un computer [Terza parte]
Teoria dei sistemi Autore: LUCA ORRU'.
Tesina di fine corso Argomento: Corso: Professore: Autori:
Rappresentazione dell’Informazione
Rappresentazione dell’informazione nel calcolatore.
Rappresentazione dell’informazione
Rappresentazioni a lunghezza fissa: problemi
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Rappresentazione degli interi
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Rappresentazione dei numeri
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
Transcript della presentazione:

Informatica 3 Codifica binaria

Il sistema binario Il calcolatore opera solo con due cifre: 0 e 1 Tutta l’informazione che un calcolatore elabora viene espressa con queste due cifre, per mezzo della codifica binaria

Numerazione: le basi Noi siamo abituati a una numerazione basata su 10 cifre: da 0 a 9 La base della nostra numerazione è il 10: 147 = 7 x 100 + 4 x 101 + 1 x 102 La base del sistema binario è il 2: 1011 = 1 x 20 + 1 x 21 + 0 x 22 + 1 x 23 Se si svolge il calcolo si ottiene il numero che, in base 10, corrisponde a 1011 in base 2.

Base 2 -> Base 10 10112, ossia 1011 in base 2, a che numero in base 10 corrisponde? Stiamo cercando la x tale che: 10112 = x10 Basta ricordarsi la definizione di base 2: 1011 = 1 x 20 + 1 x 21 + 0 x 22 + 1 x 23 = 11 Perciò 1011 in base 2 vuol dire 11 in base 10: 10112 = 1110 Il “nostro” 11 è per il calcolatore 1011

Base 10 -> Base 2 Il metodo per esprimere in base 2 un numero dato in base 10 è il seguente Cerchiamo la x tale che: 2510 = x2 Si procede con una sequenza di divisioni per 2, fintantoché il quoziente non diventa 0, e scrivendo la sequenza dei resti in ordine inverso

Come si scrive 25 in base 2? 25 : 2 = 12 con resto 1 Una volta ottenuto il quoziente pari a 0, scriviamo i resti in ordine inverso: 2510 = 110012

Verifica del metodo 11001 è davvero la codifica in base 2 di 25? Basta svolgere i calcoli basati sulla definizione di sistema binario 110012 = 1 x 20 + 1 x 23 + 1 x 24 = 1 + 8 + 16 = 2510 (gli addendi con lo 0 sono stati omessi perché ovviamente non influiscono sulla somma)

Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come parole) di lunghezza fissa dipendente dalla struttura del calcolatore stesso. Ad esempio, una parola di 4 bit può contenere il numero 01012 1 1

Combinazioni possibili di numeri Una parola di 4 bit può contenere 24 = 16 numeri binari diversi: da 0000 a 1111 In generale, una parola di n bit può contenere 2n numeri binari diversi

Interpretazioni possibili dei numeri Se non ci preoccupiamo del segno dei numeri, e li consideriamo sempre positivi, la sequenza che va da 00002 a 11112 corrisponde ai numeri da 010 a 1510 In generale, data una parola da n bit e interpretando i numeri binari come numeri senza segno, solo positivi, i numeri esprimibili con tale parola vanno da 0 a 2n-1

Numeri con segno Se vogliamo introdurre anche i numeri negativi, una possibililità è di usare il primo bit a sinistra per esprimere il segno del numero: 0 sta per +, 1 sta per meno Con questa convenzione, chiamata “modulo e segno”, 10102 = -210, e 01112 = 710 In generale, con una parola di n bit si possono esprimere i numeri compresi tra –(2n-1 – 1) e 2n-1 – 1

Complemento a due La rappresenazione “modulo e segno” ha un inconveniente: ci sono due rappresentazioni per 010: ad esempio, se si hanno parole da 4 bit, sia 00002 sia 10002 corrispondono a 010 Con la rappresentazione “in complemento a due” si ovvia a questo problema: 010 si rappresenta solo con 00002, +110 come al solito con 00012 mentre per ottenere la rappresentazione binaria di -110, si procede come segue

Da numero positivo a negativo (1) Data la rappresentazione binaria di +110: 00012 La rappresentazione di si ottiene così: si invertono tutti i bit si somma 1 Quindi, la rappresentazione in complemento a due di -110 è: 11112

Da numero positivo a negativo (2) Analogamente per +210: 00102 La rappresentazione in complemento a 2 di per -210 è: 11102 E così via fino a utilizzare tutte le configurazioni di bit possibili della parola Con una parola da n bit, in complemento a due si possono rappresentare i numeri compresi tra tra –2n-1 e 2n-1 – 1 (da notare che c’è un numero in più grazie al fatto che 010 ha un’unica rappresentazione)

Metodo alternativo L’inversione di tutti i bit e la somma di 1 costituiscono un metodo per scoprire, dato un numero positivo +n2, la codifica binaria del suo opposto: –n2 (o anche viceversa: dato -n2, scoprire +n2) In alternativa, si può usare la seguente regola: partendo da destra, lascia tutto intatto fino al primo ‘1’ incluso, poi inverti tutto il resto

Somma di numeri binari Sui numeri binari si effettuano le classiche operazioni aritmetiche esattamente come per i numeri in base 10 In particolare, la somma si esegue bit per bit, con le seguenti regole: 0 + 0 = 0 1 + 0 = 0 + 1 = 1 1 + 1 = 0 con carry (o riporto) di 1 a sinistra

Overflow Si ha un overflow quando si sommano 2 numeri contenuti in parole da n bit e il risultato non riesce ad essere rappresentato in n bit Ad esempio: 0111 + 0110 = 1101 Questa somma non è valida perché sommando due numeri positivi su 4 bit si ottiene un numero negativo, il che è assurdo. Il risultato corretto sarebbe 01101 ma per poterlo rappresentare servono 5 bit invece che 4. Una tecnica per controllare se c’è overflow è di vedere i riporti alla posizione più a sinistra e della posizione a sinistra di essa (vedi le stelle): se i riporti sono diversi c’è overflow. In questo caso c’è riporto alla posizione del quarto bit da destra ma non alla sua sinistra, e infatti c’è overflow.

Sottrazione Con il complemento a due, la sottrazione non è altro che sommare con un numero negativo 6 – 4 equivale a calcolare 6 + (-4): 610 = 01102 410 = 01002 -410 = 11002 210 = 00102

Circuiti logici (1) Congiunzione, AND IN1 IN2 OUT= IN1 AND IN2 1 IN1 1 IN1 OUT IN2

Circuiti logici (2) Disgiunzione, OR IN1 IN2 OUT= IN1 OR IN2 1 IN1 OUT 1 IN1 OUT IN2

Circuiti logici (3) Disgiunzione esclusiva, XOR IN1 IN2 OUT= IN1 XOR IN2 1 IN1 OUT IN2

Circuiti sommatori (1) Half-adder (A+B = Somma con Carry)

Circuiti sommatori (2) Full-adder (A+B+Carry in ingresso = Somma con Carry in uscita)