Sistemi di numerazione

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
Sistemi di numerazione
I numeri naturali ….. Definizione e caratteristiche
Informatica Generale Susanna Pelagatti
Fondamenti di Informatica
Rappresentazione di Numeri Reali
Rappresentazioni numeriche
Sistemi di numerazione
Trasmissione delle informazioni
Codifica dei Dati Idea: vogliamo rappresentare dati eterogenei utilizzando un linguaggio che l’elaboratore puo’ facilmente manipolare Essenzialmente vogliamo.
Vincenza Ferrara dicembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
Sistemi di numerazione e codici
Fondamenti di Informatica CDL in Ingegneria Gestionale (B) - A.A CDL in Ingegneria Gestionale (B) - A.A Codifica binaria dellinformazione.
esponente del radicando
2ab2 2b4 4x − 2y a 3b2y3 3b2y3b Definizione e caratteristiche
Algebra binaria Luglio 2002 Luglio 2002 Algebra binaria.
Esercitazioni su rappresentazione dei numeri e aritmetica
Informatica 3 Codifica binaria.
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)
Sistemi di Numerazione
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
Settembre 2002IFTS2002 Acq. Dati Remoti: INFORMATICA 1 Rappresentazione dellinformazione (1)
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.
by Vaccaro Maria Antonietta
Fondamenti di Informatica
Corso di Informatica per Giurisprudenza
Rappresentazione dei dati
Esistono 10 tipi di persone al mondo: Quelli che conoscono il codice binario & Quelli che non lo conoscono.
Rappresentazioni numeriche
Rappresentazione binaria dei numeri interi senza segno.
= = -11 Esempio complemento A (-6) = (-5) (-11) (6) = (-10) (-4)
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
Cos’è un problema?.
Il sistema binario.
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Rappresentazione di numeri relativi (interi con segno)
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
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
Rappresentazione dell’informazione
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
Acquisizione Dati Roberto Ferrari giugno 2009
RAPPRESENTAZIONE DELL'INFORMAZIONE
Le operazioni con i numeri
Dalle potenze ai numeri binari
Linguaggi e Programmazione per l’Informatica Musicale
Linguaggi e Programmazione per l’Informatica Musicale
Sistemi ed automazione Industriale
Numeri Interi senza segno
La rappresentazione delle informazioni in un computer
Rappresentazione dell’Informazione
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Rappresentazione dell’informazione nel calcolatore.
Rappresentazione della Informazione
Rappresentazione dell’informazione
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Transcript della presentazione:

Sistemi di numerazione 26/11/2010

Sistemi di numerazione Sistemi di numerazione posizionali: La base del sistema di numerazione Le cifre del sistema di numerazione Il numero è scritto specificando le cifre in ordine ed il suo valore dipende dalla posizione relativa delle cifre Esempio: Il sistema decimale (Base 10) Cifre : 0 1 2 3 4 5 6 7 8 9 5641 = 5·103 + 6·102 + 4·101 + 1·100 Posizione: 3 2 1 0

Sistemi in base B La base definisce il numero di cifre diverse nel sistema di numerazione La cifra di minor valore è sempre lo 0; le altre sono, nell’ordine, 1,2,…,B1; se B>10 occorre introdurre B10 simboli in aggiunta alle cifre decimali Un numero intero N si rappresenta con la scrittura (cncn1…c2c1c0)B N = cnBn+cn1Bn1+...+c2B2+c1B1+c0B0 0,25=2*10-1+5*10-2=2*0,1+5*0,01=0,2+0,05 0,897=8*10-1+9*10-2+7*10-3 1,25= Un numero frazionario N’ si rappresenta come (0,c1c2…cn)B cn è la cifra più significativa, c0 la meno significativa N’ = c1B1+c2B2+...+cnBn

Numeri interi senza segno Con n cifre in base B si rappresentano tutti i numeri interi positivi da 0 a Bn1 (Bn numeri distinti) Esempio: base 10 00 01 02 …. 98 99 102 = 100 valori 2 cifre: da 0 a 1021 = 99 Esempio: base 2 00 01 10 11 2 cifre: da 0 a 221 = 3 22 = 4 valori

Il sistema binario (B=2) La base 2 è la più piccola per un sistema di numerazione Cifre: 0 1  bit (binary digit) Forma polinomia Esempi: (101101)2 = 125 + 024 + 123 + 122 + 021 + 120 = 32 + 0 + 8 + 4 + 0 + 1 = (45)10 101101 (0,0101)2 = 021 + 122 + 023 + 124 = 0 + 0,25 + 0 + 0,0625 = (0,3125)10 (11,101)2 = 121 + 120 + 121 + 022 + 123 = 2 + 1 + 0,5 + 0 + 0,125 = (3,625)10

Dal bit al byte Un byte è un insieme di 8 bit (un numero binario a 8 cifre) Con un byte si rappresentano i numeri interi fra 0 e 281 = 255 È l’elemento base con cui si rappresentano i dati nei calcolatori Si utilizzano sempre dimensioni multiple (di potenze del 2) del byte: 2 byte (16 bit), 4 byte (32 bit), 8 byte (64 bit)… b7b6b5b4b3b2b1b0 00000000 00000001 00000010 00000011 ……………. 11111110 11111111 28 = 256 valori distinti (1111)2=1*20+1*21+1*22+1*23=1+2+4+8=(15) 10

Dal byte al kilobyte Potenze del 2 Cosa sono KB (Kilobyte), MB (Megabyte), GB (Gigabyte)? 24 = 16 28 = 256 216 = 65536 210 = 1024 (K=Kilo) 220 = 1048576 (M=Mega) 230 = 1073741824 (G=Giga) 1 KB = 210 byte = 1024 byte 1 MB = 220 byte = 1048576 byte 1 GB = 230 byte = 1073741824 byte 1 TB = 240 byte = 1099511627776 byte (Terabyte)

Da decimale a binario Numeri interi Si divide ripetutamente il numero intero decimale per 2 fino ad ottenere un quoziente nullo; le cifre del numero binario sono i resti delle divisioni; la cifra più significativa è l’ultimo resto Esempio: convertire in binario (43)10 resti 43 : 2 = 21 + 1 21 : 2 = 10 + 1 10 : 2 = 5 + 0 5 : 2 = 2 + 1 2 : 2 = 1 + 0 1 : 2 = 0 + 1 bit più significativo (43)10 = (101011)2

Esempio: conversione decimale in binario numeri interi

Da decimale a binario Numeri razionali Si moltiplica ripetutamente il numero frazionario decimale per 2, fino ad ottenere una parte decimale nulla o, dato che la condizione potrebbe non verificarsi mai, per un numero prefissato di volte; le cifre del numero binario sono le parti intere dei prodotti successivi; la cifra più significativa è il risultato della prima moltiplicazione Esempio: convertire in binario (0,21875)10 e (0,45)10 0,45  2 = 0,9 0,90  2 = 1,8 0,80  2 = 1,6 0,60  2 = 1,2 0,20  2 = 0,4 etc. (0.45)10  (0.01110)2 0,21875  2 = 0 ,4375 0,4375  2 = 0,875 0,875  2 = 1,75 0,75  2 = 1,5 0,5  2 = 1,0 (0.21875)10 = (0.00111)2

Da binario a decimale Esempio: convertire in decimale (101011)2 Esercizio Si verifichino le seguenti corrispondenze: (110010)2=(50)10 (1110101)2=(117)10 (1111)2=(17)10 (11011)2=(27)10 (100001)2=(33)10 (1110001110)2=(910)10 Da binario a decimale Oltre all’espansione esplicita in potenze del 2  forma polinomia… …si può operare nel modo seguente: si raddoppia il bit più significativo e si aggiunge al secondo bit; si raddoppia la somma e si aggiunge al terzo bit… si continua fino al bit meno significativo (101011)2 = 125 + 024 + 123 + 022 + 121 + 120 = (43)10 Esempio: convertire in decimale (101011)2 bit più significativo 1 x 2 = 2 + 0 2 x 2 = 4 + 1 5 x 2 = 10 + 0 10 x 2 = 20 + 1 21 x 2 = 42 + 1 = 43 (101011)2 = (43)10 (110010) 2= 125 +124+023+022+121+020=32+16+2=(50) 10 (forma polinomiale) 1x2=2+1 3x2=6+0 6x2=12+0 12x2=24+1 25x2=50+0=(50)10 (1110101) 2= 126+125+124+023+122+021+120=64+32+16+4+1=(117)10 3x2=6+1 7x2=14+0 14x2=28+1 29x2=58+0 58x2=116+1=(117) 10 (100001) 2=125+120=(33)10 1x2=2+0 2x2=4+0 4x2=8+0 8x2=16+0 16x2=32+1=(33)10

Addizione binaria Esempio Le regole per l’addizione di due bit sono L’ultima regola è… (1)2+(1)2 = (10)2 … (1+1=2)10 !! 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con riporto di 1 Esempio 1 11 1 01011011+ 01011010 10110101 riporti 181 91+ 90

(101,111) 2=(5,875)10 (101) 2=1x22 +0x21+1x20=4+1=5 (0,111) 2=1x2-1+1x2-2+1x2-3=0.5+0.25+0.125=0.875 (2.75)10=(10.11)2 (2)10=(10)2 2:2=1+0 1:2=0+1 (0.75)10=(11)2 0.75x2=1.5 0.5x2=1.0 (4.5)10=(100.1)2 (4)10=(100)2 4:2=2+0 (0.5)10=(0.1)2 1 11011+ 1100= 100111 111 1 111.11+ (1+2+4=7) (1*2-1+1*2-2=0.5+0.25=0.75)=7.75 0.01 (0.25) 1000.00 (8)

La rappresentazione dei dati e l’aritmetica degli elaboratori

Numeri interi positivi I numeri interi positivi sono rappresentati all’interno dell’elaboratore utilizzando un multiplo del byte (generalmente 4 byte) Se l’intero si rappresenta con un numero di cifre minore, vengono aggiunti zeri nelle cifre più significative 00001010 -10100000 Esempio: 12 viene rappresentato in un byte come… 00001100

Numeri con segno Per rappresentare numeri con segno, occorre utilizzare un bit per definire il segno del numero Si possono usare tre tecniche di codifica Modulo e segno Complemento a 2 Complemento a 1

Modulo e segno Il bit più significativo rappresenta il segno: 0 per i numeri positivi, 1 per quelli negativi Esiste uno zero positivo (00…0) e uno zero negativo (10…0) Se si utilizzano n bit si rappresentano tutti i numeri compresi fra (2n11) e 2n11 Esempio: con 4 bit si rappresentano i numeri fra 7 ((231)) e 7 (231) 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 0 1001 1 1010 2 1011 3 1100 4 1101 5 1110 6 1111 7 positivi negativi

Complemento a 2 Il complemento a 2 di un numero binario (N)2 a n cifre è il numero Il complemento a 2 si calcola… Effettuando il complemento a 1 del numero di partenza (negazione di ogni cifra): si trasforma ogni 0 in 1 e ogni 1 in 0 Aggiungendo 1 al numero ottenuto Oppure: a partire da destra, lasciando invariate tutte le cifre fino al primo 1 compreso, quindi invertendo il valore delle rimanenti 2n(N)2 = 10……0(N)2 { n 100000000 011111111 01010111 10101000 10101001 28 281 N 281N 281N1 01010111 complemento a 1 10101000  1 10101001

Interi in complemento a 2 I numeri positivi sono rappresentati (come) in modulo e segno I numeri negativi sono rappresentati in complemento a 2  la cifra più significativa ha sempre valore 1 Lo zero è rappresentato come numero positivo (con una sequenza di n zeri) Il campo dei numeri rappresentabili è da 2n1 a 2n11 Esempio: numeri a 4 cifre 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 7 1010 6 1011 5 1100 4 1101 3 1110 2 1111 1 Nota: 0111 7 1000 8 1000 = 8 11 0111+ 1= 1000 (-8) 0111=1+2+4=7 1000+ 1001 (-7)

Sottrazione binaria  1 Le regole per la sottrazione di due bit sono La sottrazione può divenire complicata: quando si ha una richiesta sulla cifra precedente a sinistra, che è uno 0, l’operazione si propaga a sinistra fino alla prima cifra ad 1 del sottraendo 0  0 = 0 1  0 = 1 1  1 = 0 10  1 = 1 con prestito di 1 dalla cifra precedente a sinistra Esempio 0 10 1 1 0 0 1  1 0 1 1 0 1 0 0 20 25  5

Sottrazione binaria  2 0 - 0 = 0 Secondo le regole di fianco Es. 00010101 - verifica: 00001101 = 00010101 = 21 ---------------- 00001101 = 13 00001000 00001000 = 8 infatti 21 - 13 = 8 0 - 0 = 0 0 - 1 = 1 con prestito 1 - 0 = 1 1 - 1 = 0

{ Sottrazione binaria – 3 Esempio: (010001)2(000101)2 = (17)10(5)10 Utilizzando la rappresentazione in complemento a 2, addizione e sottrazione sono trattate come un’unica operazione si trascura il bit n 1 N1N2 = N1(2nN2)2n { complemento a 2 di N2: rappresentazione di (N2) Si calcola il complemento a 2 di N2 Si somma N1 con il complemento a 2 di N2 Si trascura il bit più significativo del risultato Esempio: (010001)2(000101)2 = (17)10(5)10 010001  111011 1001100 (12)10

Rappresentazioni in complemento Sono utili perché l’operazione di somma algebrica può essere realizzata non curandosi del bit di segno In complemento a 1 (più semplice da calcolare)… Zero ha due rappresentazioni: 00000000 e 11111111 La somma bit a bit funziona “quasi sempre” In complemento a 2… Zero ha una sola rappresentazione La somma bit a bit funziona sempre 11001  (6) 11010 = (5) 10011 (12) 00110  (6) 10110 = (10) 11100 (4) 00100=(4)10 11011+1=11100 01010=10 10101+1=10110=-10 00110+ 10110= 11100

Esempio Calcolare -(-( 7) + 10 in complemento a due su 5 bit. - 7 = 11001 10 = 01010 1 1 1 0 0 1 + 0 1 0 1 0 0 0 0 1 1 Il risultato vale 00011 = +3. 7=00111 11000+1=11001

Esempio Calcolare (-7) - 4 in complemento a due su 5 bit. Si opera come se l’operazione fosse (-7) + (-4). -7 = 11001 -4 = 11100 1 1 1 0 0 1 + 1 1 1 0 0 1 0 1 0 1 7=00111 4=00100 -7=compl a 1 (11000)+1=11001 -4=11011 + 1= 11100 11=01011--11=10100+1=10101 11:2=5+1 5:2=2+1 2:2=1+0 1:2=0+1

Overflow Esempio: 5 bit  [16,15] L’overflow si ha quando il risultato di un’operazione non è rappresentabile correttamente con n bit Per evitare l’overflow occorre aumentare il numero di bit utilizzati per rappresentare gli operandi C’è overflow se c’è riporto al di fuori del bit di segno e non sul bit di segno, o se c’è riporto sul bit di segno, ma non al di fuori Esempio: 5 bit  [16,15] 01110  01010 11000 14  10 24 11000  10110 101110 8  10 18 8 14 11 10110+ 00010= 101000 Punteggio nei vecchi videogame… sorpresa per i campioni! 0111 1111 1111 1111  1 = 1000 0000 0000 0000 32767  1 = 32768

Moltiplicazione binaria Le regole per la moltiplicazione di due bit sono Moltiplicare per 2n corrisponde ad aggiungere n zeri in coda al moltiplicando 0  0 = 0 0  1 = 0 1  0 = 0 1  1 = 1 Esempio 1100111 x 101 1100111 0000000 1000000011 110011 x 10000 = 1100110000  16 = 24

Divisione binaria La divisione binaria di A per B viene calcolata in modo analogo alla divisione decimale, così da ottenere un quoziente Q ed un resto R, tali che A = BQ  R La divisione binaria si compone di una serie di sottrazioni Dividere per 2n equivale a scorrere il numero a destra di n posizioni; le cifre scartate costituiscono il resto ( ^ ^ ^ 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 0 0 54 = 510 + 4 110011  10000 = 11 con resto 11 51:16 = 3 con resto 3

Cenni su Algebra di Boole

Algebra di Boole Abbiamo detto che un elaboratore opera confronti semplici. Introduciamo l’algebra booleana. • Si deve a Boole (matematico inglese, XIX sec.) • Si basa su 2 stati: – ON – acceso – OFF – spento • Le variabili booleane possono assumere solo 2 valori: 0 e 1 • Con le variabili booleane si costruiscono funzioni booleane che possono assumere solo 2 stati: TRUE e FALSE

TABELLE DI VERITA’ E OPERATORI Gli operatori logici che esprimono le relazioni tra le variabili sono: • NOT, AND, OR, XOR • Esistono poi NAND e NOR (operatori universali) che permettono di esprimere qualsiasi altra delle precedenti espressioni, utilizzando un solo tipo di operatori • Ogni funzione booleana ha una sua tabella della verità