• Non ci sono risultati.

Rappresentazione dei numeri Andrea Gasparetto

N/A
N/A
Protected

Academic year: 2021

Condividi "Rappresentazione dei numeri Andrea Gasparetto"

Copied!
7
0
0

Testo completo

(1)

1

Tutorato di architettura degli elaboratori

Rappresentazione dei numeri

Andrea Gasparetto – andrea.gasparetto@unive.it

Esercizi Conversione Binario -> Decimale

1405 = 1 x 52 + 4 x 51 + 0 x 50 = 4510

74368 = 7 x 83 + 4 x 82 + 3 x 81 + 6 x 80 = 7 x 512 + 4 x 64 + 3 x 8 + 6 = 387010

10111012 = 1 x 26 + 0 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 0 x 20 = 9310

3289 = 3 x 92 + 2 x 91 + 8 x 90 = 26910

Esercizi Conversione Decimale -> Base B

10 => 2

127 1

63 1

31 1

15 1

7 1

3 1

1 1

0 //

12710 = 11111112

10 => 5

127 2

25 0

5 0

1 1

0 //

12710 = 10022

10 => 8

127 7

15 7

1 1

0 //

(2)

2 12710 = 1778

Conversione da Base b a Base d (multipli di 2)

2 => 8

011 101 010 111

3 5 2 7

2 => 16

A F 5 9

1010 1111 0101 1001

8 => 2

7 7 2 1 6

111 111 010 001 110

Somma numeri naturali

183 + 63 = 246, nessun overflow

1 1 1 1 1 1

1 0 1 1 0 1 1 1 +

0 0 1 1 1 1 1 1 =

1 1 1 1 0 1 1 0

137 + 241 = 378, OVERFLOW

1 1

1 0 0 0 1 0 0 1 +

1 1 1 1 0 0 0 1 =

0 1 1 1 1 0 1 0

Se consideriamo queste somme come somme di numeri rappresentati in complemento a 2, otteniamo le operazioni

(-73) + 63 = -10

0 0 1 1 1 1 1 1

1 0 1 1 0 1 1 1 +

0 0 1 1 1 1 1 1 =

1 1 1 1 0 1 1 0

(3)

3 Per verificare se si è verificato un overflow, è sufficiente osservare se gli ultimi due riporti sono concordi. In questo caso, il penultimo riporto è 0 (0 + 0 + 1 dato dal riporto precedente) e il secondo è 0 (1 + 0 + 0 dato dal riporto precedente). Quindi non si è verificato un overflow.

1 0 0 0 0 0 0 1

1 0 0 0 1 0 0 1 +

1 1 1 1 0 0 0 1 =

0 1 1 1 1 0 1 0

Nel secondo caso invece, il penultimo riporto è 0, mentre l’ultimo è 1. Abbiamo quindi due riporti non concordi e di conseguenza un overflow. Alternativamente, è possibile osservare il segno degli addendi (entrambi negativi) e il segno del risultato (positivo). Se si sommano due numeri negativi, non è possibile ottenere come risultato un numero positivo, e quindi l’operazione è fallita.

Esercizi Complemento a due (8 bit)

010 = 000000002

10010 = 011001002 => C2 => 011001002

100 0

50 0

25 1

12 0

6 0

3 1

1 1

0 //

13110 => 100000112 => non rappresentabile in complemento a 2

131 1

65 1

32 0

16 0

8 0

4 0

2 0

1 1

0 //

-12810 => 100000002 => C1 => 01111111 => C2 => 10000000

128 0

64 0

32 0

16 0

8 0

4 0

2 0

1 1

(4)

4

0 //

-5010 => 001100102 => C1 => 11001101 => C2 => 11001110

50 0

25 1

12 0

6 0

3 1

1 1

0 //

Esercizi Numeri Virgola Fissa

25,12510 => Binario, 8 + 8

25 1

12 0

6 0

3 1

1 1

0 //

2510 = 000110012

Residuo X2 Cifre

0.125 0.250 0

0.250 0.500 0

0.500 1.000 1

0 / /

0,12510 = 0,0012

25,12510 = 00011001,001000002

-63,7510 => Binario 8 + 8

63 1

31 1

15 1

7 1

3 1

1 1

0 //

6310 = 001111112

Residuo x2 Cifre

(5)

5

0.75 1.50 1

0.50 1.0 1

0 / /

63,7510 = 00111111,110000002 => C1 => 11000000,00111111 => C2 => 11000000,01000000

-35,62510 => Binario 8 + 8

35 1

17 1

8 0

4 0

2 0

1 1

0 //

3510 => 001000112

Residuo X2 Cifre

0.625 1.25 1

0.25 0.5 0

0.5 1.0 1

0 / /

0.62510 => 0.1012

35,62510 = 00100011,101000002 => C1 => 11011100,01011111 => C2 => 11011100,01100000 => -35,625

Esercizi Numeri Virgola Mobile

Esercizio 1

A = 21345 = 2 x 53 + 1 x 52 + 3 x 51 + 4 x 50 = 29410 = 1001001102

B = -30124 = -(3 x 43 + 0 x 42 + 1 x 41 + 2 x 40) = -19810 = 110001102

294 147 73 36 18 9 4 2 1

0 1 1 0 0 1 0 0 1

198 99 49 24 12 6 3 1

0 1 1 0 0 0 1 1

A = 100100110 = 1.00100110 x 28 SA = 0

EA = 8 + 127 = 13510 = 100001112

MA = 1.00100110…

 0 10000111 00100110000000000000000

B = 11000110 = 1.1000110 x 27 SB = 1

EB = 7 + 127 = 13410 = 100001102

MB = 1.1000110…

 1 10000110 10001100000000

(6)

6 1 _ Allineamento degli esponenti: poiché gli esponenti sono uguali, non serve allinearli

MA = 1.00100110 x 28

MB = 1.10001100 x 27 => 0.11000110 x 28

2 _ Mantisse espresse in complemento a 2: poiché B è un numero negativo, devo complementarlo a 2 MB negativo quindi lo complemento a 2 => 1.0011101

3 _ Aggiungo il segno alle mantisse MA = 01.00100110

MB = 10.11000110

4 _ Sommo mantisse

0 1 . 0 0 1 0 0 1 1

1 1 . 0 0 1 1 1 0 1

1 0 0 . 0 1 1 0 0 0 0

MC = 00.0110000 x 28 5 _ Normalizzo MC = 1.1 x 26

NB: in questo caso l’1 che appare all’inizio del risultato della somma NON rappresenta un overflow. Tale numero infatti viene automaticamente escluso dall’operazione mod 2n, operazioni finale nelle somme in complemento a 2. Tali somme infatti sono definite come: (N1 + (2n – N2)) mod 2n.

Risultato

SC = 0

EC = 6 + 127 = 13310 = 100001012

M = 1000…0

Esercizio 2

A = 2.154 x 82 = 215.48 = 2 x 82 + 1 x 8 + 5 + 4 x 8-1 = 128 + 8 + 5 + 0.5 = 141,510

B = -3.572 x 82 = -357.28 = -(3 x 82 + 5 x 8 + 7 + 2 x 8-1) = -(192 + 40 + 7 + 0,35) = -239,2510

A = 141,510 = 10001101,12

SA = 0

MA = 1,00011011

(7)

7 EA = 127 + 7 = 13410 = 100001102

Quindi A = 0 10000110 00011011000000000000000

B = -239.2510 = 11101111,012

SB = 1

MB = 1,110111101

EB = 127 + 7 = 13410 = 100001102

Quindi B = 1 10000110 11011110100000000000000

1 _ Allineamento degli esponenti: poiché gli esponenti sono uguali, non serve allinearli

2 _ Mantisse espresse in complemento a 2: poiché B è un numero negativo, devo complementarlo a 2 MA = 1,000110110

MB = 0,001000011

3 _ Aggiungo il segno alle mantisse MA = 01,000110110 MB = 10,001000011

4 _ Somma delle mantisse

0 1 . 0 0 0 1 1 0 1 1 0 +

1 0 . 0 0 1 0 0 0 0 1 1 =

1 1 . 0 0 1 1 1 1 0 0 1

NB: Poiché il segno del risultato della somma è negativo devo complementare a 2

1 1 . 0 0 1 1 1 1 0 0 1

0 0 . 1 1 0 0 0 0 1 1 0 +

0 0 . 0 0 0 0 0 0 0 0 1 =

0 0 . 1 1 0 0 0 0 1 1 1 x 27

MC = 00,110001111 x 27 5 _ Normalizzazione MC = 1,10000111 x 26 Risultato

SC = 1

EC = 127 + 6 = 13310 = 100001012

MC = 1,10000111

Riferimenti

Documenti correlati

L’insieme dei numeri naturali è un sottoinsieme di quello dei numeri interi, cioè: C I numeri razionali sono numeri scritti sotto forma di frazione, oppure numeri

◦ Capitolo 2: progettazione e modellazione, introduzione del modello ad oggetti. ◦ Capitolo 3: concentrarsi sui paragrafi 3.2,

Dei rematori interessa il nome e cognome, l’indirizzo, la remiera di appartenenza, il luogo di nascita. Per le città interessa la provincia e il numero

◦ eventuali attributi dell’associazione si inseriscono in R (e possono far parte della chiave primaria). ◦ totalità

◦ Il risultato di questa operazione è una relazione che ha come attributi l’unione di quelli degli operandi, con le ennuple formate concatenando quelle di R ed S con. valori

SELECT Nome, Cognome, Matricola, Data, Materia FROM Studenti s LEFT JOIN Esami e. ON s.Matricola

 Per ogni materia, trovare nome della materia e voto medio degli esami in quella materia [selezionando solo le materie per le quali sono stati sostenuti più di tre esami]:. ◦ Per

 Trovare nome, cognome e matricola degli studenti che hanno avuto nel 2011 sia il relatore che, se esiste, il correlatore di un dipartimento di area ingegneristica.