Sei sulla pagina 1di 10

Conversione rapida decimale-binario

• Stima approssimata delle grandezze binarie


in decimale
• Stima approssimata delle grandezze
decimali in binario
• Sistema di numerazione ottale
• Sistema di numerazione esadecimale

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021


Richiami di algebra di base: i logaritmi
•Definizione:
•(Inversa dell'esponenziale)
•logaritmo del numero b in
base a quel numero c a cui
bisogna elevare a per y = 2x
ottenere b. c=loga(b); ac=b
•Prorietà:
•1) log(a·b) = log(a) + log(b)
•2) log(a/b) = log(a) – log(b)
•3) log(ab) = b·log(a)
•4) logb(x) = loga(x)/loga(b)

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021


Metodi per la stima
• Suffissi notevoli [1/log10(2) 1/0,301  10/3]:
Suffisso Valore Decimale Approssimato  IEEE1541&IEC
10 3
Kilo 2 1.024 Mille 10 Ki: Kibi
Mega 220 1.048.576 Milione 106 Mi: Mibi
30 9
Giga 2 1.073.741.824 Miliardo 10 Gi: Gibi
40 12 12
Tera 2 1,0995*10 Bilione 10 Ti: Tebi
50 15 15
Peta 2 1,1259*10 Biliardo 10 Pi: Pibi
Exa 260 1,1529*1018 Trilione 1018 Ei: Exbi
• Prime 10 potenze del 2
2 4 8 16 32 64 128 256 512 1024
1 2 3 4 5 6 7 8 9 10

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021


Metodi per la stima
Per una maggiore precisione su grandi numeri, usiamo: 1.000/301:
Valore 10^n IEEE1541&IEC 2^(n*1000/301) 2^(n*10/3)
Mille 103 Ki: Kibi 1000,7 1.024
Milione 106 Mi: Mibi 1.001.378 1.048.576
Miliardo 109 Gi: Gibi 1.002.067.277 1.073.741.824
Bilione 1012 Ti: Tebi 1,00276*1018 1,0995*1012
Biliardo 1015 Pi: Pibi 1,00345*1018 1,1259*1015
Trilione 1018 Ei: Exbi 1,00414*1018 1,1529*1018
--- 10100 ---- 1,0232*10100 2,2046*10100

Il rapporto 1000/301 – ovvero una maggior precisione nel calcolo di


log10(2) = 0,30102999 - restituisce un valore inferiore di un’unità (un
bit in meno), rispetto a 10/3, già per numeri decimali oltre le 36 cifre.
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021
Es.: quanti bit per un numero decimale?
2 4 8 16 32 64 128 256 512 1024
• 1.435.785 1 2 3 4 5 6 7 8 9 10

1M< x < 2M  20 bit < n < 21 bit  21bit

• 20.345.444
16M< x < 32M  24 bit < n < 25 bit  25 bit

• 300.456.231
256M< x < 512M  28 bit < n < 29 bit  29 bit
• riprovare moltiplicando/dividendo per 2
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021
Es.: quante cifre decimali per n bit?
2 4 8 16 32 64 128 256 512 1024
• 24 bit 1 2 3 4 5 6 7 8 9 10

n = 20 + 4  1M * 16  16M  8 digit (2,4*3 = 7,2)


• 32 bit
n = 30 + 2  1G * 4  4G  10 digit (3,2*3 = 9,6)

• 16 bit
n = 10 + 6  1K * 64  64K  5 digit (1,6*3 = 4,8)
• numero decimale massimo rappresentabile e
numero di combinazioni possibili
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021
La visione «binaria» dei numeri
Esadecim. Ottale Decimale Suffisso bit
100 400 256 1/4 K 8
200 1000 512 1/2 K 9
400 2000 1024 1K 10
1000 10000 4096 4K 12
10000 200000 65536 64 K 16
Conversione da decimale a binario:
– Convertire in ottale o esadecimale, usando le
divisioni successive insieme ai valori noti
– Abituarsi a vedere il valore ottale o esadecimale
come gruppi di 3 o 4 bit
 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021
Esempi pratici: progettazione IPV4
Struttura indirizzo a 32 bit: [network][host]
Rappresentazione usata: «dot-decimal notation»
Esempio: 18.3.88.201 = dot.hexadecimal (pirata): 12.03.58.C9
Schema originale («classfull»):
- Classe A: net da 00 a 7F; host da 000001 a FFFFFE
 128 reti ciascuna da 16 Mibi hosts (-2)
- Classe B: net da 8000 a BFFF; host da 0001 a FFFE
 16 Kibi reti ciascuna da 64 Kibi hosts (-2)
- Classe C: net da C00000 a DFFFFF; host da 01 a FE
 2 Mibi reti ciascuna da 254 hosts
- Classe D: net multicast da E0000000 a EFFFFFFF
 256 Mibi indirizzi di gruppo
- Classe E: unused da F0000000 a FFFFFFFF
 256 Mibi indirizzi per usi «futuri»

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021


Esempi pratici: IPV4 CIDR
Nel 1993 fu introdotto il «Classless Inter Domain Routing»:
- Definire parte rete variabile con la notazione a.b.c.d/x
x = bit da usare per la netmask ovvero per l’indirizzo di rete

La notazione «dot.decimal» diventa poco utile ed espressiva


Esempio: 25.43.102.26/20  netmask = 11111111.11111111.11110000.00000000
decimale: 255.255.240.0 net: 25.43.96.0
esadecimale (pirata): FF.FF.F0.00 net: 19.2B.60.00

Altri esempi «pirata» con notazione dot.exadecimal (x rimane dec):


19.2B.66.1A/21 (netmask = FF.FF.F8.00) net = 19.2B.60.00
19.2B.66.1A/22 (netmask = FF.FF.FC.00) net = 19.2B.64.00
19.2B.66.1A/23 (netmask = FF.FF.FE.00) net = 19.2B.66.00

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021


Esempi pratici: IPV6
Dal 2012 si è diffuso l’utilizzo del protocollo IPV6:
Struttura indirizzo a 128 bit: [network][host] [64 bit] [64 bit]
La parte network può essere ridotta rimane con la notazione CIDR

La notazione «dot.exadecimal» definisce gruppi da 16 bit


Esempio: 2005:23B0:7640:0000:0000:0034:4751:ACF9
dove i gruppi 0000 contigui possono essere elisi scrivendo:
2005:23B0:7640::0034:4751:ACF9
Essendo ogni gruppo composto da 4 cifre, la notazione può ridotta a:
2005:23B0:7640::34:4751:ACF9
Infine, i 32 bit meno significativi possono essere scritti in notazione IPV4:
2005:23B0:7640::34:71.81.172.249
Rappresentare indirizzi IPV4 ponendo a 0 i bit più significativi:
::18.3.88.201

 Ing. Massimo Trojani - Architettura degli Elaboratori UNICAM 2021

Potrebbero piacerti anche