Anteprima
Vedrai una selezione di 6 pagine su 24
Lezioni di Fondamenti di Informatica 1 Pag. 1 Lezioni di Fondamenti di Informatica 1 Pag. 2
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Lezioni di Fondamenti di Informatica 1 Pag. 6
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Lezioni di Fondamenti di Informatica 1 Pag. 11
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Lezioni di Fondamenti di Informatica 1 Pag. 16
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Lezioni di Fondamenti di Informatica 1 Pag. 21
1 su 24
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

BASE ESADECIMALE: OPERAZIONI:

0 0000 SOMMA

1 0001

2 0010 + 0 1 SOTTRAZIONE

3 0011 0 0 1

4 0100

5 0101 1 1 (1)0

6 0110 + 0 1

7 0111 0 0 (1)1

8 1000 1 1 0

9 1001

A 1010 MOLTIPLICAZIONE

B 1011

C 1100

D 1101 + 0 1

E 1110 0 0 0

F 1111 1 0 1

Rappresentazione dei numeri nel calcolatore:

poiché nel computer l’unità minima di informazione è il bit, un sistema fisico dotato di due stati stabili, in esso i numeri

(e le informazioni) sono rappresentate in binario.

Numeri negativi:

il binario ha solo 2 simboli, 0 e 1, e non ha simboli per rappresentare il segno (+ e -), per questo si sono

adottate diverse strategie. 16

Rappresentazione in modulo e segno: il primo bit rappresenta il segno e gli altri rappresentano il

modulo del numero, facendo un esempio con un numero a 8

bit, invece di poter rappresentare i numeri da 0 a 256

possiamo rappresentare i numeri da -127 a 127, ovvero da -

+1 a -1 poiché lo 0 è rappresentato 2 volte, come

7 7

2 2

negativo e come positivo.

Complemento alla base di un numero: nella

rappresentazione in complemento alla base con n cifre le

n combinazioni rappresentano numeri positivi e

B n

B

negativi, le combinazioni da 0 a -1 rappresentano

2 n

B

i numeri positivi, quelli negativi vanno da a

2

n -1 e si rappresentano con la seguente definizione:

B

sia X un numero positivo, il suo corrispondente

n

negativo (-X) è rappresentato come il numero B

-X, cioè –X si rappresenta come il

complementare di X rispetto al numero massimo.

Esempio con un numero con base dieci: 2

10

2

B=10 n=2, quindi si hanno configurazioni possibili, da 0 a 49 (cioè -1) rappresentano i

10 2

2

10 2

numeri positivi, da 50 (cioè a 99 ( cioè -1) come previsto dal complemento. Se X=36, -X in

10

¿

2 2

complemento ( in questo caso si dice complemento a 10) è -X=100-36=64.

10

REGOLA PRATICA: il complemento a 10 si trova analizzando le cifre a partire da destra: gli zeri fino alla prima

cifra significativa si riportano tali e quali, della prima cifra significativa si fa il complemento a 10 di tutte le

altre il complemento a 9.

Esempio con un numero base 2: 5

2

5

B=2 n=5, quindi si hanno configurazioni possibili, da 0 a 01111 (cioè -1) rappresentano i numeri

2 2

5

2 5

positivi, da 10000 (cioè a 10000 ( cioè -1) come previsto dal complemento.

2

¿

2

Se X=01011, -X in complemento a 2 è 100000-01011=10101.

REGOLA PRATICA: l complemento a 2 si trova partendo dal bit meno significativo, si riportano invariati tutti i

bit fino al primo bit a 1 compreso, si complementano i rimanenti bit (0→1 e 1→0). 17

Complemento alla base -1 di un numero: nella rappresentazione in complemento alla base -1 di un

n

numero con n cifre le combinazioni rappresentano

B

numeri positivi e negativi. Le combinazioni che vanno da 0 a

n

B -1 rappresentano i numeri positivi. Le combinazioni

2 n

B n

che vanno da a -1 rappresentano i numeri

B

2

negativi, con la seguente definizione:

dato un numero positivo X, il suo corrispondente negativo è

B

¿

dato da -1)-X.

¿

¿

Esempio con un numero base 10 (detto complemento a 9):

X=36 B=10 n=2, quindi in complemento alla base -1 è 99-

36=63

Esempio con un numero base 2: (detto complemento a 1)

2

¿

X=01011 B=2 n=5, quindi il complemento alla base-1 è -1)-X=(100000-1)-X=11111-01011

¿

¿

(si ottiene complementando ogni singolo bit 0→1 e 1→0)

N.B. il complemento alla base si può ottenere sommando 1 al complemento alla base -1

Considerazioni sui complementi alla base e alla base-1:

nelle rappresentazioni in complemento le rappresentazioni dei numeri negativi sono definite solo quando si

è stabilito il numero delle cifre, per esempio i complementi a 1 e a 2 per X=36 B=10 e n=2 è 64 per il

complemento a 2 e 63 per il complemento a 1, invece per X=36 B=10 e n=3 è 964 per il complemento a 2 e

963 per il complemento a 1. Tutti questi numeri rappresentano comunque il numero -36!

In complemento a 2 i numeri positivi sono rappresentati dal loro modulo e hanno il bit più significativo

(segno) posto a 0 o a 1, metà delle configurazioni sono perciò riservate ai positivi e metà ai negativi. Il più

n−1 n−1

piccolo numero rappresentabile è - , il più grande è -1 e lo zero ha un’unica

2 2 n−1

n−1

rappresentazione (tutti zeri). In complemento a 1 il più piccolo è - +1, il più grande è -1 e lo

2 2

zero ha due rappresentazioni, una come +0 e una come -0 (tutti zeri e tutti uni). In altre parole il

complemento a 2 divide le rappresentazioni possibili equamente tra positivi e negativi considerando lo zero

come primo positivo, il complemento a 1 lo fa considerandone uno positivo e uno negativo. In questo modo

il complemento a 1 può rappresentare un negativo in meno rispetto al complemento a 2.

Il complemento alla base (o a 2) è utile perché permette alla macchina di effettuare la somma algebrica

senza dover operare una serie di confronti tra i due operandi ( per determinare il segno del risultato),

operazione che richiederebbe parecchio tempo, inoltre con la tecnica del complemento si può utilizzare un

solo circuito per effettuare sia addizione che sottrazione. n

Esempio: proviamo a calcolare A-B, sappiamo che –B si rappresenta come ( -B), non considerando il

2

n

riporto A-B = A+( -B)

2

A=01001 B=00110 18

01001- 01001+

00011= 11010= esempio con B’ in complemento a 2

00011 (1) 00011

Circuito di somma e sottrazione:

n

A-B = A+B’ = A+( -B) in complemento a 2

2 n

2

= A+ -1-B) in complemento a 1

¿

Sia S una stringa di bit tali che:

sia I un numero di cui vorremmo fare il

negativo:

se S=0 →I non cambia

se S=1 →restituisce il contrario

(cioè I’, complementato).

R

Sia ora A e B i bit addendi, il riporto della

i

R

somma precedente, C il risultato e il riporto di questa coppia. I

o

risultati a seconda degli ingressi possono essere:

Se ora procediamo

collegando i singoli blocchi

possiamo costruire un vero e proprio circuito sommatore-sottrattore:

C C C a a

Il risultato C= gli addendi A=

2 1 0 2 1

a b b b

e B= , l’operazione svolta è quindi C=A+B

0 2 1 0

Si presentano due casi:

1) se S=0 allora i bit b rimangono invariati e otteniamo una somma normale:

c a b c a b c a b

= + = + = + C=

0 0 0 1 1 1 2 2 2

A+B

2)se S=1 allora i bit b cambiano

c a b c a b ' R c a b

= + ’+1 = + + = + ’+

0 0 0 1 1 1 0 2 2 2

R 1 k k

C= A+B’+1= A+( -1-B)+1= A+( -B)= A-B

2 2 19

complemento complemento

a 1 a 2

OVERFLOW: il risultato di una somma algebrica (sia A+B o A’+B’) non è rappresentabile dal numero di bit a

disposizione.

esempio con 8 bit in complemento a 2:

64+64=128 → 01000000+

01000000=

10000000→numero negativo(-128), la somma di due numeri

positivi non deve essere negativa.

Esempio con 6 bit in complemento a 2:

(-19)+(-17)=-36 → 19= 010011 101101+

-19=101101 101111= non considero il

riporto(6bit) 17=010001 1011100→ è un numero positivo dalla

-17=101111 somma di due negativi!!!

C’è overflow se A e B positivi, la somma S è negativa oppure se A e B negativi, la somma è positiva→

impossibile.

Notazione per eccesso:

alla rappresentazione in valore assoluto di un numero viene sommata

una costante detta COSTANTE DI POLARIZZAZIONE, pari al numero di

slittamento verso il basso necessari per avere una rappresentazione

ordinata dal numero negativo più basso al positivo più alto, invece di

avere una notazione spezzata come nel complemento a due. Con

questa convenzione il bit di segno è invertito.

Esempio 4 bit + 1 per il segno →

Costante di polarizzazione 1000

Numeri razionali, notazione in virgola fissa:

dato un numero di bit con cui si rappresenta un numero razionale,

determino la posizione della virgola e stabilisco a priori quanti bit

rappresentano la parte intera e quanti la parte decimale. Per i numeri

negativi si può scrivere il numero in complemento alla base.

Esempio vogliamo rappresentare i numero 72,6, fissiamo 8 bit per la

parte intera e 4 bit per la parte decimale:

diviso 2 resto per 2 ri

port o

20

b b

( bit più significativo intero, bit più significativo decimale)

7 −1

La virgola fissa da un ridotto intervallo di rappresentabilità dei numeri.

Numeri razionali, notazione in virgola mobile( rappresentazione normalizzata):

(floating point)

qualunque numero può essere rappresentato nella forma S E M:

S= segno, 0 per il positivo e 1 per il negativo.

M= mantissa, le cifre significative rappresentate in forma normalizzata, cioè con la prima cifra significativa

dopo la virgola, per eliminare i simboli ridondanti.

E= esponente a cui bisogna elevare la base di rappresentazione perché mi dia il numero di partenza A, una

volta moltiplicata per la mantissa, viene utilizzata una rappresentazione che non necessiti di un bit

aggiuntivo per indicare il seno, come la notazione polarizzata.

Esempi: 5

10110,011 → 0,10110011* forma normalizzata

2

0,00101101 → 0,101101* forma normalizzata

−2

2

L’esponente è sempre espresso in notazione polarizzata, dato un numero di bit (magari ben associabile alla

dimensione della memoria, per esempio 8 bit) possiamo riservare un certo numero di bit a ciascuno dei tre,

ordinati secondo quest’ordine convenzionale.

S E M

Segno, 0+ e 1- esponente mantissa

Esempio con 32 bit: 1 bit per S, 8 bit per E, 23 bit per M

S può essere 0 o 1 (+ o-).

E (in notazione polarizzata) va da un esponente minimo di-128 ad un massimo di +127.

5

M è sempre un numero con valore tendente a 1 e sono rappresentabili rappresentazioni, con 23 bit si

2

codificano 24 cifre della mantissa (1 bit nascosto, cioè la parte intera si sottintende uguale a 0).

Si parla di dinamica per descrivere l’intervallo dei numeri rappresentabili, nel caso di 32 bit la dinamica è: -

127 127 127 127

≤ N ≤ quindi il più grande numero rappresentabile è quindi 1* per S=0 e il più

2 2

2 2 127 127

piccolo numero rappresentabile è 1* per S=1 cioè - .

2 2

Per analizzare meglio la dinamica consideriamo che la mantissa del numero più grande rappresentabile &eg

Dettagli
Publisher
A.A. 2016-2017
24 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher UNSIGNED di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Danese Giovanni.