Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre...

31
Obiettivi Conversione verso la base 10 Conversione dalla base 10 alla base B Operazioni aritmetiche in base B Conversione tra le basi B e B n Rappresentazione in complemento Rappresentazione in virgola mobile Rappresentazione dei caratteri e delle immagini 1

Transcript of Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre...

Page 1: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Obiettivi

➢ Conversione verso la base 10

➢ Conversione dalla base 10 alla base B

➢ Operazioni aritmetiche in base B

➢ Conversione tra le basi B e Bn

➢ Rappresentazione in complemento

➢ Rappresentazione in virgola mobile

➢ Rappresentazione dei caratteri e delle immagini

1

Page 2: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Cifre 3 2 7 2 3

Posizioni

Pesi

5

105

4

104

3

103

2

102

1

101

0

100

-1

10-1

-2

10-2

-3

10-3

Scrittura di un numero: cn-1 …c2 c1 c0 . c-1 c-2 …c-m

Sistema decimale: ci {0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }

,

3*102 + 2*101 + 7*100 + 2*10-1 + 3*10-2

Sistemi di numerazione posizionali

Page 3: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Cifre c5 c4 c3 c2 c1 c0 c-1 c-2 c-3

Pesi 25 24 23 22 21 20 2-1 2-2 2-3

0 0 1 1 0 1

,

Sistema binario (simboli 0,1)

Page 4: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Conversione verso la base 10

4

Cifre c5 c4 c3 c2 c1 c0 c-1 c-2 c-3

Pesi B5 B4 B3 B2 B1 B0 B-1 B-2 B-3

Zi

i

i Bc

Page 5: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

00 000001 000102 001003 001104 010005 010106 011007 011108 100009 100110 101011 101112 110013 110114 111015 111116 10000

dec bin

Contare in base 2

Page 6: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Rappresentazione

della base ( 2 ) 10 = ( 10 )2

cifre ci = 0, 1In inglese: binary digit

bit

Massimo valore

rappresentabile

con n cifre

11 = 100 – 1 = 22 – 1

111 = 1000 – 1 = 23 – 1

1111 = 1 0000 – 1 = 24 – 1

1111 1111 = 1 0000 0000 – 1 = 28 – 1

1 11 … 11 = 1 00 … 00 – 1 = 2n – 1

Con 8 bit si possono rappresentare 28 = 256 combinazioni

diverse di 0 ed 1. ( Interi da 0 a 255 )

Sistema di numerazione binario

Page 7: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

35 = 32+2+1 = 100011

12 = 8+4 = 1100

255 = 256 -1 = 1 0000 0000 – 1 = 1111 1111

260 = 256+4 = 1 0000 0100

51 x 4 = (32+16+2+1) x 4 = 11 0011 x 100

= 1100 1100

50 / 2 = (32+16+2) / 2 = 11 0010 / 10 = 1 1001

Esercizi

Page 8: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Operazioni aritmetiche in base 4

8

Page 9: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Conversione da esadecimale a decimale

(1A3)16= 1 × 16 2 + 10 × 16 1 + 3 × 16 0 = 419 10

( FF )16= 15 × 16 + 15 = 25510 = 16 2 - 1

( 10 )16 = 1 × 16 + 0 = 1610 = ( 1 0000 )2

Simboli 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Sistema esadecimale ( base 16 )

Page 10: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Contare nelle basi

00 0000 001 0001 102 0010 203 0011 304 0100 405 0101 506 0110 607 0111 708 1000 809 1001 910 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F16 10000 10

dec bin hex

Una cifra esadecimale

sintetizza

l’informazione

contenuta in 4 bit

Page 11: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

1110 2 = 14 10 = E 16

1111 2 = 15 10 = F 16

1 0100 2 = 0001 0100 2 = 14 16 = 20 10

111 1010 0101 2 = 0111 1010 0101 2 = 7 A 5 16

1111 1111 2 = F F 16

B 6 16 = 1011 01102

Conversioni tra le basi: 2 e 16 4 cifre binarie 1 cifra esadecimale

Page 12: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Funzioni di Excel per le conversioni(Categoria ingegneristiche)

➢ BINARIO.DECIMALE

⚫ Converte un numero binario in decimale

➢ BINARIO.HEX

➢ DECIMALE.BINARIO

⚫ Converte un numero decimale in binario

➢ DECIMALE.HEX

➢ HEX.DECIMALE

➢ HEX.BINARIO

Page 13: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Unità di misura delle memorie

1 Byte = 8 bit

1 KB = 1024 B = 210 Byte ( 1 Kilo 103 )

1 MB = 1024 KB = 220 B ( 1 Mega 106 )

1 GB = 1024 MB = 230 B ( 1 Giga 109 )

1 TB = 1024 GB = 240 B ( 1 Tera 1012 )

1 PB = 1024 TB = 250 B ( 1 Peta 1015 )

1 EB = 1024 PB = 260 B ( 1 Exa 1018 )

Memoria centrale di un PC

Disco fisso di un PC

Page 14: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

• Quattro interi di un byte l’uno, in totale 32 bit;ogni intero può variare tra 0 e 255

• Il numero massimo di indirizzi IP è:

232 = 22 • 210 • 210 • 210 = 4 Giga

• Un indirizzo IP è rappresentato da 4 numeri interi separati da un punto

1111 1111 . 1111 1111 . 1111 1111 . 1111 1111 =

= FF . FF . FF . FF

http://193.204.255.12

Indirizzi IPv4 in Internet

Page 15: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

• Classe A - primo bit: 0

Poche reti (indirizzate con 7 bit) con molti host (identificati con 24 bit)

• Classe B - primi due bit: 10

Numero medio di reti (indirizzate con 14 bit) con numero

medio di host (identificati con 16 bit)

• Classe C - primi tre bit: 110

Molte reti (indirizzate con 21 bit) con pochi host (identificati con 8 bit)

Indirizzi IPv4 in Internet

http://193.204.255.12

Page 16: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

4/1/2020 8:55:34 AM

16

Subnet Mask

➢ Serve per estrarre la NetID da un indirizzo IP

➢ ad es.

⚫ 128.156.14.7⚫ 1000 0000 ' 1001 1100 ' 0000 1110 ' 0000 0111

⚫ 1111 1111 ' 1111 1111 ' 0000 0000 ' 0000 0000

⚫ ———————————————————————

⚫ 1000 0000 ' 1001 1100 ' 0000 0000 ' 0000 0000

⚫ 128.156.0.0

AND

NetID

Page 17: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

4/1/2020 8:55:34 AM

17

➢ 127.0.0.1 ➔ indirizzo di loopback

➢ NetID.255 ➔ tutti gli host della rete (broadcastdiretto)

➢ 255.255.255.255 ➔ tutti i nodi della rete fisica (broadcast limitato)

➢ 0.0.0.0 ➔ indirizzo non utilizzato (se non in via transitoria), indica ‘questo host’

➢ indirizzi per reti locali (intranet) non visibili in Internet:⚫ 10.*.*.*

⚫ 172.16-31.*.*

⚫ 192.168.*.*

Indirizzi particolari

Page 18: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Colori RGB (Red, Green, Blue)

➢ Tonalità dei tre colori R, G, B ⚫ da 0 a 255 in decimale

⚫ da 00 a FF in esadecimale

➢ Rosso 255,0,0 FF 00 00

➢ Verde 0,255,0 00 FF 00

➢ Blu 0,0,255 00 00 FF

➢ Nero 0,0,0 00 00 00

➢ Bianco 255,255,255 FF FF FF

➢ Giallo 255,255,0 FF FF 00

➢ Verificabile con i colori personalizzati di Office

Quanti colori differenti si

possono scegliere con

questa rappresentazione ?

Page 19: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Tipo Valori Limite Bit

Shortint - 128 .. 127 8

Integer - 32 768 .. 32 767 16

Longint - 2 147 483 648 .. 2 147 483 647 32

Byte 0 .. 255 8

Word 0 .. 65 535 16

Rappresentazione interna degli interi con segno

Page 20: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

• Gli interi della rappresentazione sono usati in parte peri valori positivi ed in parte per quelli negativi

• Segno e valore assoluto

• Complemento a 2 (aritmetica dei contatori)

04 ( +4 )

03 ( +3 )

02 ( +2 )

01 ( +1 )

00 ( 0 )

99 ( -1 )

98 ( -2 )

97 ( -3 )

96 ( -4 )

Verificare che:

(+4) + (-2) = +2

(-4) + (+2) = -2

(-2) + (+2) = 0

(-1) + (-2) = -3

Rappresentazione interna degli interi con segno

Page 21: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

• Rappresentazione in virgola fissa: xxxx.dddd

• Forte riduzione dell’intervallo numerico rappresentato.

• Con una rappresentazione del tipo: xxxx.dddd, con

quante cifre significative potrebbero essere rappresentati ivalori: 1234567.8, 1324.5678, 0.00018888 ?

• Quante cifre sarebbero necessarie per poter rappresentarevalori del tipo: 1.5*10+50, 2.0*10-30 ?

Rappresentazione interna dei Reali

Page 22: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

▪ Un numero reale α in base b può essere scritto:

= x * b n = x E n

= c0. c1 c2 c3 c4 c5.. E n, c0 0

▪ Esempi:

-27.3E – 4 , - 12.45 E 00 , + 2.3 E –25 , 0.7845 E +30

-0.00273 , - 12.45 , + 0.0 …23 , 78450…0

▪ Normalizzazione: 1 | x | < b

Rappresentazione interna dei Reali

Virgola mobile (o floating point)

Page 23: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

c0. c1 c2 c3 c4 c5.. E n, c0 0

c0 c1 c2 c3 c4 c5…

Mantissa

Per esempio, usando 8 cifre per la mantissa e quattro per

l’esponente:

12.5 = +1.25 E+1 12500000 0001

378.45 = +3.7845 E+2 37845000 0002

0.0073 = +7.3 E-3 73000000 9997

n

Esponente

Mantissa e Esponente

Page 24: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Tipo Valori Limite Bit

Real 2.9E-39 .. 1.7E+38 48

Single 1.5E-45 .. 3.4E+38 32

Double 5.0E-324 .. 1.7E+308 64

Extended 3.4E-4932 .. 1.1E+4932 80

Alcuni esempi di rappresentazione dei reali in virgola mobile

Page 25: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Rappresentazione Interna dei Caratteri

Codice ASCII

S\D 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 nil Bel Bs lf Ff cr

1

2 sp ! “ # $ % & ‘ ( ) * + , - . /

3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

4 @ A B C D E F G H I J K L M N O

5 P Q R S T U V W X Y Z [ \ ] ^ _

6 a b c d e f g h i j k l m n o

7 p q r s t u v w x y z | del

Page 26: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

26

Codice ASCII (base)

Page 27: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

27

Codice EBCDIC

Page 28: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Codice ASCII

• 1 carattere 2 cifre esadecimali

• Numero di caratteri rappresentati: 128 (7 bit)256 (8 bit)

Esempi: 00H nil

20H spazio

30H 0

41H A

61H a

……………

La rappresentazione interna induce l’ordinamento:

Sp < ‘0’< ‘1’< .. < ‘9’< .. < ‘A’ .. < ’Z’< .. < ’a’< ..< ’z’

Page 29: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Codice UNICODE

• I Caratteri ASCII standard sono 128 e non sono sufficienti per

rappresentare:

• differenti alfabeti nazionali

• simboli matematici

• alfabeto Greco, Arabo, Ebraico, Cirillico, …

• Unicode utilizza 16 bit per carattere

• Numero di caratteri rappresentabili: 65536

• I primi 128 caratteri di Unicode coincidono con lo

standard ASCII

Page 30: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Esercizi

Cosa rappresentano i seguenti valori di 16 bit se

vengono interpretati come coppie di caratteri

ASCII:

1) (4242)H

2) (4341)H

3) (3532)H

4) (4247)H

Page 31: Presentazione del corso · • Con una rappresentazione del tipo: xxxx.dddd, con quante cifre significative potrebbero essere rappresentati i valori: 1234567.8, 1324.5678, 0.00018888

Funzioni Excel per i codiciCategoria Testo

➢ CODICE

Restituisce il codice ASCII decimale del primo carattere di una stringa di testo

➢ CODICE.CARATT

Restituisce il carattere ASCII specificato da un valore decimale (0 … 255)