CONVERSIONE DA DECIMALE A BINARIO

Documenti analoghi
Unità aritmetica e logica

Codifica. Rappresentazione di numeri in memoria

Architettura degli Elaboratori

Firmware Division & Floating pointer adder

LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1

Firmware Division & Floating gpointer adder

Moltiplicazioni e Divisioni. G. Michele Pinna (1)

Laboratorio del 21/10/2010- Numeri binari e conversione

Esercitazione del 09/03/ Soluzioni

Esercitazione del 2/3/2010- Numeri binari e conversione

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Moltiplicazione. Divisione. Multipli e divisori

Lezione 3. I numeri relativi

Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico

Elementi di Informatica e Programmazione

Fondamenti di Informatica - 1. Esercizi A.A. 2011/2012

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Decimale, binaria,esadecimale

La codifica. dell informazione

0ROWLSOLFD]LRQHH'LYLVLRQH WUDQXPHULUHODWLYL

Numero decimale con la virgola -- numero binario

Sistemi di numerazione

Moltiplicazione e Divisione tra numeri relativi

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Le quattro operazioni fondamentali

LE OPERAZIONI CON I NUMERI

04 Aritmetica del calcolatore

Aritmetica dei Calcolatori - Operazioni

Esercizio 1) Un tuo amico ha calcolato che -77 ha rappresentazione , ma non si ricorda quale codica ha usato. tra: binario naturale

Rappresentazione dei Numeri

1 L estrazione di radice

La Rappresentazione dell Informazione

Esercitazione n. 5. Rappresentazione dei numeri

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

NUMERO RELATIVO. È caratterizzato da: segno positivo (+) o negativo (-) parte numerica che è detta valore assoluto

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Operatori di confronto:

Ancora sui criteri di divisibilità di Marco Bono

Rappresentazione di numeri interi

Esercizi di Analisi Numerica. Errori, Cambi di base, Numeri macchina, Aritmetica finita

Sistemi di Numerazione Binaria

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Sistemi di Numerazione Binaria

Rappresentazione dei dati in memoria

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Sistemi di Numerazione Binaria

Rappresentazione dei Dati

Calcolo numerico e programmazione Rappresentazione dei numeri

Le quattro operazioni fondamentali

MAPPA MULTIPLI E DIVISORI

Il Sistema di numerazione decimale

Numeri in virgola mobile

LE RADICI QUADRATE 9=3. è il simbolo dell operazione e prende il nome di segno di radice

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

ESERCIZIARIO DI MATEMATICA

I sistemi di numerazione

Sperimentazioni di Fisica I mod. A Lezione 3

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

APPUNTI DI INFORMATICA

La divisione di numeri naturali: esercizi svolti

Appunti del corso di Sistemi - Conversioni numeriche anno scolastico 2007/2008

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

1 Multipli e sottomultipli. Divisibilità

Informatica. Rappresentazione dei numeri Numerazione binaria

La codifica binaria. Sommario

Calcolatori: Sistemi di Numerazione

Numeri binari Conversioni numeriche: decimali-binario Operazioni algebriche con numeri binari Russo ing. Saverio

Informatica Generale 02 - Rappresentazione numeri razionali

Firmware Division. Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano

Informatica (Sistemi di elaborazione delle informazioni)

Somma di numeri binari

Dott. Dallavalle Riccardo UNITA DIATTICA nr. 5 Gli argomenti di oggi:

4 + 7 = 11. Possiamo quindi dire che:

Aritmetica dei Calcolatori Elettronici

ACCURATEZZA. L accuratezza esprime la vicinanza del risultato al valore vero o accettato come tale. PRECISIONE

1 (UNO) INDICA LA QUANTITÀ DI ELEMENTI DELL INSIEME UNITARIO B = (CLASSI CHE HANNO LA LIM) SOLO LA 4ª A HA LA LIM QUINDI L INSIEME È UNITARIO.

Parte Seconda. Prova di selezione culturale

Sistema Numerico Decimale

Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Rappresentazione dei numeri reali

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Rappresentazione numeri reali

Esempio 1: virgola mobile

Rappresentazione numeri relativi e reali

Utilizzata per rappresentare numeri frazionari nella. numero =(mantissa) 2 esponente. Il formato piu utilizzato e quello IEEE P754, rappresentato

Consideriamo un numero a e un numero naturale n positivo. Per dare una definizione corretta di radicale con indice n, o radice n-esima di a

Interi positivi e negativi

Lezione 4. Lezione 4. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche. Rappresentazioni numeriche

Lezioni di Informarica. Prof. Giovanni Occhipinti

Transcript:

CONVERSIONE DA DECIMALE A BINARIO Il procedimento per convertire in forma binaria un certo numero decimale n consiste nello scrivere, andando da destra verso sinistra, le cifre oppure seguendo delle determinate regole che sono: - Se n è pari si scrive ; - Se n è dispari si scrive e si sostituisce n con n-; Se n è dispari, sottraendo uno ad n, esso diventerà pari e si potrà effettuare il procedimento dividendo n per due e si continua così finché non si arriva allo arrivando così al termine del procedimento. Scriviamo 25 in forma binaria. Il numero binario di 25 è 2. N = 25; n è dispari quindi scriviamo N - = 24; 24/2 = 2. N = 2; n è pari quindi scriviamo N = 2; 2/2 = 6. N = 6; n è pari quindi scriviamo N = 6; 6/2 = 3. N = 3; n è dispari quindi scriviamo N- = 2; 2/2 =. N = ; n è dispari quindi scriviamo N- =. N = ; n è zero quindi abbiamo terminato il procedimento Ora leggiamo i numeri dal basso verso l alto e otterremmo il valore che noi volevamo. Per effettuare un ulteriore prova basta si fa: 2 = * 2 + *2 + * 22 + *23 + *24 = + + + 8 + 6 = 25. In sintesi possiamo anche scrivere 25 2 6 3 Così abbiamo trasformato il nostro valore decimale intero in binario.

CONVERSIONE DA DECIMALE IN FLOATING POINT Per la conversione da decimale in floating point bisogna suddividere il numero decimale in due parti; una parte è la parte intera quindi il numero prima della virgola mentre la seconda è la parte frazionaria cioè la parte dopo la virgola. Per trasformare la parte intera si fa nella maniera riportata precedentemente. Se volessimo convertire un numero decimale come.876 in binario prima di tutto si trasforma l intero ; = 2 Ora trasformiamo la parte decimale ovvero.876 Per fare questo bisogna moltiplicare per 2 la cifra con la virgola e vedere se il risultato dato, sia maggiore di uno se lo è scriviamo e togliamo uno MANTISSA: Esempio.876*2 =,752.752*2 =,54.54*2=.8.8*2=.6.6*2=.32.32*2=.64.64*2=.28.28*2=.256 e così via fino ad arrivare al numero di bit assegnatoci e fino ad ottenere un valore del tipo. 2 Quindi il nostro valore.876 =. 2 Per ottenere la mantissa, in questo caso di 24 cifre, bisogna normalizzare cioè avere un numero. e in seguito qualcosa. Noi, per avere la forma richiesta, dobbiamo spostare la virgola a sinistra di 3 posizioni per far si che la mantissa diventi.2 *23 La prima cifra della mantissa, ovvero l, si omette sempre quindi la mantissa sarà pari a 2 ESPONENTE: Avendo dovuto fare lo shift della mantissa di 3 posizioni a sinistra (quindi queste 3 posizioni verranno sommate ai bit dell esponente es: 5 bit per l esponente si farà 25 = 32 / 2 = 5 + 3 = 8) si sommeranno le posizioni shiftate al valore dell esponente. In questo caso l esponente è espresso in codice ECCESSO 27 quindi si farà 27 + 3 = 3 e verrà trasformato anch esso in un binario che sarà 2 SEGNO: Se il numero in virgola mobile tra trasformare è positivo il segno avrà valore altrimenti avrà valore. Alla fine avremmo il seguente risultato SEGNO ESPONENTE MANTISSA 2

CONVERSIONE DA FLOATING POINT IN DECIMALE Per convertire un numero decimale in un floating point si utilizzano due modi differenti, uno per la parte intera uno per la parte frazionaria. Prendiamo ad esempio questo numero decimale:.2 Effettuiamo ora la conversione della parte intera ovvero di 2 Parte intera: *2 + *2 + *22 + *23= + + 4 + 8 = 3 Parte decimale: *2- + *2-2 + *2-3 + *2-4 + *2-5 + *2-6 = + + -25 + +.325 +.5625 =.7875 Quindi il valore trasformato in decimale è:.2 = 3.2875 3

OPERAZIONI BINARIE ADDIZIONE BINARIA Tabella dell addizione: + (A)2 (B)2 (A) + (B) (A + B) 2 Quando si ha un + si effettua un riporto di uno e si scrive e si aggiunge l all operazione che segue SOTTRAZIONE BINARIA Per effettuare la sottrazione il metodo più semplice, è quello di fare il COMPLEMENTO A 2 del sottraendo. Per fare il complemento a due basta invertire tutti i numeri appena si trova il primo uno leggendo da destra a sinistra e, invertire tutti gli altri valori. ESEMPIO: 5: 2 complemento a due -5: 2 (il primo bit serve per il segno) (A) (B) (-B) (A) + (B) (A+(-B)) Il risultato finale di (A + (- B)) è di 2. Ho tolto un bit in quanto se effettuo una somma a 6 bit devo restituire un risultato con i medesimi bit. 4

MOLTIPLICAZIONE BINARIA Tabella della moltiplicazione: * Le regole della moltiplicazione sono sintetizzate nella tabella. È consigliabile sommare 2 a 2 i risultati in maniera da non incombere in una specie di doppio riporto. (A) 2 (B) 2 A B - ------ F G * Sommo queste 3 celle (v.di punto ) Sommo queste 2 celle (v.di punto 2) Punto ) + - + - 2 (val F) Punto 2) ---+ --- 2 (val G) Ora sommo F con G e trovo il risultato della moltiplicazione: + 2 (A * B) 2 5

DIVISIONE BINARIA Le regole della divisione binaria sono uguali a quelle della divisione decimale. Nella divisione binaria si mette un se il dividendo è contenuto nel divisore altrimenti. Ogni volta tiro giù un altra cifra. Se arrivo in fondo con un valore ma nessun altra cifra, vuol dire che la divisone ha il resto. (A) 2 (B) 2 Resto della divisione Il risultato di questa divisione è 2 con il resto di 2. 6

ALGORITMO DI BOOTH La moltiplicazione tra binari, oltre che con il metodo normale, la si può fare in maniera differente utilizzando l algoritmo di Booth. L algoritmo di Booth fa riferimento ad una semplice tabella. Prende in ingresso una coppia di bit del moltiplicando e guarda la seguente tabella: - La prima colonna rappresenta la coppia di bit e la seconda colonna rappresenta il valore da attribuire alla moltiplicazione. (A) 2 (B) 2 Ora eseguiamo il complemento a 2 nell eventualità che si possa avere una coppia di bit che sia quindi il complemento di (A) è. Ora trasformiamo (B) utilizzando l algoritmo di Booth. A (B) aggiungeremo uno fittizio e quindi diventerà e si trasformerà in: ->, -> -, ->, -> + Quindi l algoritmo di Booth di (B) sarà -. Siccome si ha una moltiplicazione di 4 bit * 4 bit il risultato sarà di 8 bit. La moltiplicazione sarà: 2 * - - - - 2 Togliamo l di bit in quanto i bit devono essere 8 e quindi il risultato sarà 2; 7

OPERAZIONI SU FLOATING POINT ADDIZIONE FLOATING POINT Per effettuare una somma avendo due floating point bisogna eseguire degli step. Step : Controllare se gli esponenti sono uguali. Se in un floating point ho un esponente a 5 bit che ha valore 2 = e un altro esponente SEMPRE a 5 bit dal valore 3 = non posso effettuare la somma. Per renderli uguali devo rendere l esponente del numero minore uguale a quello del numero maggiore. In questo caso devo aggiungere a 2. Numero Numero 2 Il numero, al cui esponente verrà sommato, verrà modificato come segue e si effettuerà l addizione sul nuovo numero: Numero new: Numero 2: Step 2: Ora che abbiamo reso uguali gli esponenti sommiamo le mantisse. Prendiamo come esempio i due numeri dati in precedenza: Numero : Numero 2:, +,, Già normalizzato quindi non serve che venga normalizzato. Con normalizzazione si intende che il numero venga portato alla forma base della mantissa quindi, Risultato somma: 8

Esempio utilizzando la normalizzazione e il troncamento. Numero : Numero 2:, +,, In questo caso la nuova mantissa non è normalizzata quindi si effettua uno switch della virgola di una posizione verso sinistra in modo da avere la forma canonica della mantissa ovvero, Switchando otteniamo questa mantissa:, Questa mantissa, però, ha 9 bit e quindi si dovrà troncare l ultimo bit in quanto è in eccesso e uscirebbe dal limite degli 8 bit per la mantissa quindi numero della somma sarà: Risultato somma: SOTTRAZIONE FLOATING POINT Per effettuare la sottrazione tra due floating point bisogna eseguire i stessi passaggi che riguardano la somma cioè: ) Prendere il numero con esponente più piccolo e rendere l esponente uguale al più grande, shiftando a sinistra la virgola per un numero di bit pari alla differenza tra gli esponenti; 2) Sottrarre la mantissa 3) Normalizzare il risultato finale Numero : Numero 2: Il numero, al cui esponente verrà sommato, verrà modificato come segue e si effettuerà la sottrazione sul nuovo numero: Numero new: Numero 2: 9

Ora che abbiamo reso uguali gli esponenti sommiamo le mantisse. Prendiamo come esempio i due numeri dati in precedenza: Numero : Numero 2:,,, In questo caso la mantissa non si normalizza in quanto abbiamo già la forma canonica ovvero, (si poteva pure fare il complemento a due e fare una somma tra i due membri dell operazione, il risultato non sarebbe cambiato). Quindi il risultato è: MOLTIPLICAZIONE FLOATING POINT Per eseguire la moltiplicazione bisogna seguire dei semplici passi: ) ER = EA + EB BIAS 2) MR = MA * MB 3) SR = SA + SB 4) Normalizzare E = Esponente; M = mantissa; S = segno; BIAS = (2n/2)- [n = numero bit dell esponente] Prendiamo due numeri come per esempio (5,6875) e (-,65625) e trasformiamoli in floating point: (5,6875) (-65625) Verifichiamo che i numeri siano stati convertiti in maniera esatta: (5,6875) Primo bit segno: (+) Seconda parte esponente: 7 5 (bias) = 2 (numero di posizioni shiftate) Terza parte mantissa:, = + *,5 + *,25 + */8 + */32 + */64 =,42875 * 22 = (5,6875)

(-,65625) - Primo bit segno: (-) Seconda parte esponente: 5 5 (bias) = (numero di posizioni shiftate) Terza parte mantissa:, = + *,5 + */8 + */32 =,65625 * 2 = (-,65625) Ora calcoliamo il risultato ) ER = 7 + 5 5 (BIAS) = 7 + (normalizzazione) = 8 2) SR = (-) 3) MR = *, 4) MR =, Risultato: DIVISIONE FLOATING POINT Per eseguire la divisione bisogna seguire 4 semplici passi: ) ER = EA EB + BIAS 2) SR = SA + SB 3) MR = MA / MB 4) Normalizzare Prendiamo due numeri () e (2,5) rendiamoli numeri in floating point e dividiamoli tra loro: () () = ()2, * 23 Calcolo dell esponente: BIAS + Pos. Shiftate Esponente

(2,5) (2,5) = (,)2, * 2 BIAS Pos. Shiftate Esponente + Ora calcoliamo il risultato: ) ER = 8-6+5 = 7 (in questo caso non serve la normalizzazione in quanto la mantissa è già in formato, ) 2) SR = (+) 3) MR = MA / MB MR = Risultato divisione: Per vedere se è giusto il risultato si effettua questa conferma: 7 5 = 2 (posizioni da shiftare) Shifto l di 2 posizioni a sinistra in modo da ottenere: = 4; :2,5 = 4; La divisione è corretta. 2