1 / 23

Informatica 3

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.

caraf
Télécharger la présentation

Informatica 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatica 3 Codifica binaria

  2. 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

  3. 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.

  4. 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

  5. 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

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

  7. 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)

  8. 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 0 0

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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)

  15. 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

  16. 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

  17. 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.

  18. 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

  19. Circuiti logici (1) • Congiunzione, AND IN1 OUT IN2

  20. Circuiti logici (2) • Disgiunzione, OR IN1 OUT IN2

  21. Circuiti logici (3) • Disgiunzione esclusiva, XOR IN1 OUT IN2

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

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

More Related