Conta le variabili distinte: la tabella di verità ha 2ⁿ righe, e la prima ha tutti i valori a 1.
Assegna a ogni sottoformula una colonna propria e compila le colonne dall’interno verso l’esterno.
Applica la regola di ogni connettivo: → vale 0 solo per 1 → 0, ↔ vale 1 quando i due lati coincidono.
Per le equivalenze, confronta riga per riga le colonne finali; per un argomento, guarda solo le righe in cui ogni premessa vale 1.
Per negare un enunciato quantificato, sposta ¬ verso l’interno, scambia ∀ e ∃ e nega la formula interna.
Logica digitale: porte, mappe K e flip-flop
Porte di base
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Regole booleane
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Ordine della mappa di Karnaugh
00, 01, 11, 10 (Gray code)
Gruppo di 2ᵏ celle
perde k variabili
Multiplexer 4 a 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Flip-flop
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Contatori
n bit: 2ⁿ stati; mod N: n minimo con 2ⁿ ≥ N; fout = fclk/N
Contatore asincrono (ripple)
fmax = 1/(n·tpd)
Contatori ad anello e Johnson
n e 2n stati
Metodo
Per un circuito, procedi dagli ingressi all’uscita una porta alla volta e scrivi il valore su ogni filo, oppure scrivi la sua espressione e compila la tabella di verità.
Per la semplificazione, riporta gli 1 (e le condizioni di indifferenza come X) in una mappa di Karnaugh con righe e colonne in codice Gray: 00, 01, 11, 10.
Copri gli 1 con il minor numero possibile di gruppi, i più grandi possibile, di 1, 2, 4, 8 o 16 celle, richiudendoli sui bordi; ogni gruppo è un termine prodotto formato dalle variabili che restano costanti. Raggruppa gli 0 per la forma POS.
Per flip-flop e contatori, leggi gli ingressi a ogni fronte attivo del clock, scrivi lo stato dopo ogni fronte e ricorda che un contatore a n bit ricomincia da capo dopo 2ⁿ stati.
Teoria dei numeri e aritmetica modulare
Divisione con resto
a = q·n + r, 0 ≤ r < n
Euclide
gcd(a, b) = gcd(b, a mod b)
Minimo comune multiplo
lcm(a, b) = a·b/gcd(a, b)
Inversa
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Congruenza lineare
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Funzione φ di Eulero
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n
Metodo
Riduci prima ogni numero modulo n; i resti sono compresi tra 0 e n − 1.
Per un MCD, dividi ripetutamente con l’algoritmo di Euclide; l’ultimo resto diverso da zero è il MCD.
Per un inverso, esegui l’algoritmo esteso e tieni il coefficiente di a; aggiungi n se è negativo.
Risolvi a·x ≡ b moltiplicando per a⁻¹; combina due congruenze scrivendo x = r₁ + m₁k.
Per le potenze, scrivi l’esponente in binario ed eleva al quadrato ripetutamente; in RSA, d = e⁻¹ mod φ(n) con φ(n) = (p − 1)(q − 1).
Teoria dei grafi
Lemma delle strette di mano
Σ deg(v) = 2|E|
Grafi completi
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Grafo regolare
|E| = n·k/2
Albero e foresta
|E| = n − 1, |E| = n − c
Foglie di un albero
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Eulero
circuito: tutti i gradi pari; cammino: esattamente 2 gradi dispari
Cicli hamiltoniani in Kn
(n − 1)!/2
Aggiornamento di Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Cammini di lunghezza L
(Mᴸ)ij
Metodo
Scrivi il grado di ogni vertice; la somma dei gradi è il doppio del numero di lati.
Nelle domande su Eulero, verifica che il grafo sia connesso e conta i vertici di grado dispari.
Per gli alberi, usa n − 1 lati e il lemma delle strette di mano.
Per Dijkstra, tieni una tabella delle distanze provvisorie e a ogni passo fissa il vertice non ancora fissato con la distanza minima.
Per un albero di copertura minimo, ordina i lati per peso e salta ogni lato che chiude un ciclo (Kruskal), oppure fai crescere un solo albero a partire da un vertice iniziale (Prim).
Sottoreti IPv4
Host per sottorete
2(32 − prefix) − 2 (/31: 2, /32: 1)
Dimensione del blocco
256 − (mask octet)
Indirizzo di rete
IP AND maschera
Indirizzo di broadcast
IP OR (NOT maschera): tutti i bit di host a 1
Sottoreti da n bit presi in prestito
2n
2Esercizi
1.Sistemi di numerazioneMedia
Imposta i bit in modo che memorizzino −50 in complemento a due a 8 bit. Letto come numero senza segno, qual è il valore U dello schema?
N = −508 bit
U =
2.Sistemi di numerazioneDifficile
Imposta i bit sul risultato a 8 bit di 1011 0111 XOR 1011 0010. Qual è il valore R del risultato in decimale?
1011 0111XOR1011 0010
R =
3.Logica proposizionale e dimostrazioniMedia
Vuoi dimostrare ¬p → r per contrapposizione. Quale implicazione dimostri al suo posto? Clicca su di essa.
¬p → r
1r → ¬p
2¬p ∧ ¬r
3¬r → ¬¬p
4¬¬p → ¬r
4.Logica proposizionale e dimostrazioniDifficile
L’argomento con premesse q → (p ∨ r); q e conclusione p non è valido. Clicca la riga della tabella di verità che è un controesempio.
q → (p ∨ r)q∴ p
1p = 1, q = 1, r = 1
2p = 1, q = 1, r = 0
3p = 1, q = 0, r = 1
4p = 1, q = 0, r = 0
5p = 0, q = 1, r = 1
6p = 0, q = 1, r = 0
7p = 0, q = 0, r = 1
8p = 0, q = 0, r = 0
5.Logica digitale: porte, mappe K e flip-flopMedia
In questa mappa di Karnaugh esattamente un 1 non ha 1 vicini, quindi resta un gruppo di una cella (un mintermine completo di quattro letterali) nella forma SOP minima. Contano anche i vicini attraverso i bordi della mappa. Clicca su quella cella.
F = Σm(2, 10, 11, 13, 14)
1AB = 00, CD = 00
2AB = 00, CD = 01
3AB = 00, CD = 11
4AB = 00, CD = 10
5AB = 01, CD = 00
6AB = 01, CD = 01
7AB = 01, CD = 11
8AB = 01, CD = 10
9AB = 11, CD = 00
10AB = 11, CD = 01
11AB = 11, CD = 11
12AB = 11, CD = 10
13AB = 10, CD = 00
14AB = 10, CD = 01
15AB = 10, CD = 11
16AB = 10, CD = 10
6.Logica digitale: porte, mappe K e flip-flopDifficile
Un contatore modulo 12 sincrono conta 0, 1, …, 11 e poi torna a 0. Parte da 4. Quale valore Q (in decimale) mostra dopo 28 impulsi di clock?
Q0 = 428N = 12
Q =
7.Teoria dei numeri e aritmetica modulareMedia
Trova l’inverso di 34 modulo 53: il numero x con 0 < x < 53 e 34·x ≡ 1 (mod 53).
a = 34n = 53
34−1 mod 53 =
8.Teoria dei numeri e aritmetica modulareDifficile
Una chiave RSA usa p = 17, q = 29 ed e = 19. Decifra il testo cifrato c = 384: trova il messaggio m.
p = 17q = 29e = 19c = 384
m =
9.Algoritmi e complessitàMedia
Qual è la soluzione della ricorrenza T(n) = T(n − 1) + O(1)?
AO(log n)
BO(n²)
CO(n)
DO(2ⁿ)
10.Algoritmi e complessitàDifficile
Il problema dello zaino 0/1 risolto con la programmazione dinamica richiede tempo O(nW). Perché si dice pseudo-polinomiale?
APerché n è sempre piccolo
BPerché funziona solo per W = 0
CPerché l'algoritmo è randomizzato e il suo tempo di esecuzione varia a ogni input
DW è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W
11.Strutture datiMedia
Un albero binario ha radice 1 con figlio sinistro 2 e figlio destro 3; il nodo 2 ha figli 4 (sinistro) e 5 (destro). Qual è la visita in postordine?
A5 4 3 2 1
B4 5 2 3 1
C1 2 4 5 3
D4 2 5 1 3
12.Strutture datiDifficile
La struttura union-find (insiemi disgiunti) con unione per rango e compressione dei cammini ha un costo ammortizzato per operazione di:
AO(α(n)), l'inversa della funzione di Ackermann, praticamente costante
BEsattamente O(log n)
CO(n²)
DO(n)
13.Teoria dei grafiMedia
Un albero ha 3 vertici di grado 5, e tutti gli altri suoi vertici sono foglie (grado 1). Quante foglie L ha?
3 × deg 5
L =
14.Teoria dei grafiDifficile
L’algoritmo di Dijkstra parte da A. Clicca il vertice che viene fissato (reso permanente) al passo 4; A stesso è il passo 1.
partenza: Apasso 4
1A
2B
3C
4D
5E
6F
7G
15.Basi di dati e SQLMedia
La tabella a ha 3 righe e la tabella b ne ha 4. Quante righe restituisce SELECT * FROM a CROSS JOIN b?
A12
B3
C4
D7
16.Basi di dati e SQLDifficile
Quale funzione finestra assegna 1, 2, 3, ... alle righe di ogni partizione senza pari merito?
ACOUNT()
BDENSE_RANK()
CROW_NUMBER()
DRANK()
17.Reti di calcolatoriMedia
Qual è l'indirizzo di rete dell'host 192.168.10.77/26?
A192.168.10.76
B192.168.10.0
C192.168.10.64
D192.168.10.128
18.Reti di calcolatoriDifficile
Nei protocolli a finestra scorrevole, in che cosa Go-Back-N differisce da Selective Repeat dopo la perdita di un frame?
BGo-Back-N ritrasmette solo il frame perso; Selective Repeat ritrasmette quel frame e tutti i successivi
CNessuno dei due ritrasmette mai i frame persi
DGo-Back-N ritrasmette il frame perso e tutti i successivi; Selective Repeat solo il frame perso
19.Sottoreti IPv4Media
La rete 192.168.10.0/24 va divisa in almeno 8 sottoreti uguali. Prendendo in prestito il minor numero possibile di bit, quanti host utilizzabili H ha ogni sottorete?
192.168.10.0/248 subnets
H =
20.Sottoreti IPv4Difficile
Un host ha l'indirizzo 10.20.122.39/30. Qual è il quarto ottetto x del suo indirizzo di rete?
10.20.122.39/30
x =
3Soluzioni
1.Sistemi di numerazione
Risposta: U = 206
Impostare i bit: ogni bit vale una potenza di due (128, 64, …, 1). Una cifra esadecimale è esattamente quattro bit, e nel complemento a due a 8 bit il bit più a sinistra vale −128. Le operazioni bit a bit lavorano su ogni posizione di bit separatamente.
Inverti e aggiungi uno
50 = 0011 0010
invertito: 1100 1101
+1 → 1100 1110
Leggilo senza segno
1100 1110₂ = 256 − 50 = 206
Risposta
U = 206
2.Sistemi di numerazione
Risposta: R = 5
Impostare i bit: ogni bit vale una potenza di due (128, 64, …, 1). Una cifra esadecimale è esattamente quattro bit, e nel complemento a due a 8 bit il bit più a sinistra vale −128. Le operazioni bit a bit lavorano su ogni posizione di bit separatamente.
Bit per bit
XOR dà 1 dove i due bit sono diversi.
1011 0111
XOR 1011 0010
= 0000 0101
Valore del risultato
0000 0101₂ = 5
Risposta
R = 5
3.Logica proposizionale e dimostrazioni
Risposta: ¬r → ¬¬p
Equivalenza logica: due formule sono equivalenti (≡) quando hanno lo stesso valore in ogni riga della tabella di verità. Una tautologia vale 1 in ogni riga, una contraddizione vale 0 in ogni riga, e una contingenza non è né l’una né l’altra. Leggi utili: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b e ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contronominale); ¬(a → b) ≡ a ∧ ¬b; e le leggi distributive, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
Parti dell’implicazione
a = ¬p, b = r
Contronominale
¬b → ¬a = ¬r → ¬¬p
Risposta
¬r → ¬¬p
La contronominale è equivalente all’enunciato originale, quindi dimostrarla dimostra l’enunciato.
4.Logica proposizionale e dimostrazioni
Risposta: p = 0, q = 1, r = 1
Quantificatori e argomenti: ¬∀x P(x) ≡ ∃x ¬P(x) e ¬∃x P(x) ≡ ∀x ¬P(x). Sposta una negazione verso l’interno, scambia ogni quantificatore che attraversa e nega la formula interna con le leggi proposizionali, come ¬(a → b) ≡ a ∧ ¬b. Un argomento è valido quando la conclusione vale 1 in ogni riga in cui tutte le premesse valgono 1. Una sola riga con premesse vere e conclusione falsa è un controesempio e mostra che l’argomento non è valido.
Premesse e conclusione riga per riga
p = 1, q = 1, r = 1: 1 1 | 1
p = 1, q = 1, r = 0: 1 1 | 1
p = 1, q = 0, r = 1: 1 0 | 1
p = 1, q = 0, r = 0: 1 0 | 1
p = 0, q = 1, r = 1: 1 1 | 0
p = 0, q = 1, r = 0: 0 1 | 0
p = 0, q = 0, r = 1: 1 0 | 0
p = 0, q = 0, r = 0: 1 0 | 0
Controesempio
p = 0, q = 1, r = 1
Risposta
p = 0, q = 1, r = 1
Un argomento di questa forma sembra una regola valida, ma una sola riga basta a mostrare che non lo è.
5.Logica digitale: porte, mappe K e flip-flop
Risposta: AB = 11, CD = 01
Mappe di Karnaugh: le celle sono ordinate in codice Gray (00, 01, 11, 10), quindi le celle vicine, comprese quelle attraverso i bordi, differiscono per esattamente una variabile. Raggruppa gli 1 in rettangoli di 1, 2, 4, 8 o 16 celle, i più grandi e il meno numerosi possibile, finché ogni 1 non è coperto. Ogni gruppo è un termine prodotto: le variabili che restano costanti al suo interno. Un gruppo di 2ᵏ celle perde k variabili. Le condizioni di indifferenza (X) possono servire a ingrandire i gruppi ma non devono mai essere coperte. Raggruppando invece gli 0 si ottiene la forma POS minima.
Vicini di ogni 1
Un 1 con un 1 vicino può far parte di un gruppo di due o più.
m13: m12, m15, m9, m5 → 0
L’1 isolato
m13 = ABC′D → AB = 11, CD = 01
Risposta
AB = 11, CD = 01
6.Logica digitale: porte, mappe K e flip-flop
Risposta: Q = 8
Flip-flop e contatori: un flip-flop cambia solo sul fronte attivo del clock. D copia il suo ingresso (Q⁺ = D); T commuta quando T = 1; JK mantiene per 00, azzera per 01, imposta a 1 per 10 e commuta per 11. Un contatore binario a n bit ha 2ⁿ stati e conta modulo 2ⁿ; un contatore modulo N conta 0, 1, …, N − 1 e torna a 0, e richiede il minimo n con 2ⁿ ≥ N flip-flop. Ogni stadio di un contatore asincrono (ripple) dimezza la frequenza, quindi l’ultima uscita di un contatore modulo N ha frequenza fclk/N. Un contatore Johnson di n flip-flop ha 2n stati, un contatore ad anello n.
Cicli completi
Ogni 12 impulsi riportano il contatore allo stesso stato.
28 = 2·12 + 4
Valore dopo gli impulsi rimanenti
Q = (4 + 4) mod 12 = 8
Q = 1000₂
Risposta
Q = 8
7.Teoria dei numeri e aritmetica modulare
Risposta: 34−1 mod 53 = 39
Inversi e congruenze: a ha un inverso modulo n esattamente quando MCD(a, n) = 1. L’algoritmo di Euclide esteso scrive 1 = s·n + t·a, e allora a⁻¹ ≡ t (mod n). Una congruenza a·x ≡ b (mod n) con MCD(a, n) = 1 ha la soluzione x ≡ a⁻¹·b. Due congruenze x ≡ r₁ (mod m₁) e x ≡ r₂ (mod m₂) con moduli coprimi hanno una soluzione modulo m₁·m₂ (teorema cinese del resto). La φ di Eulero φ(n) conta i numeri da 1 a n coprimi con n: φ(n) = n·∏(1 − 1/p).
Algoritmo di Euclide esteso
Ogni resto r si scrive r ≡ t·34 (mod 53).
r = 53, t = 0
r = 34, q = 1, t = 1
r = 19, q = 1, t = −1
r = 15, q = 1, t = 2
r = 4, q = 3, t = −3
r = 3, q = 1, t = 11
r = 1, q = 3, t = −14
Inversa
1 ≡ −14·34 (mod 53)
x = 39
verifica: 34·39 = 1326 = 25·53 + 1
Risposta
34−1 mod 53 = 39
8.Teoria dei numeri e aritmetica modulare
Risposta: m = 343
Potenze modulari e RSA: calcola aᵏ mod n con il quadrato ripetuto: scrivi k in binario, eleva al quadrato, riduci a ogni passaggio e moltiplica le potenze il cui bit è 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) per un primo p che non divide a, quindi l’esponente si può ridurre modulo p − 1. RSA: scegli i primi p e q, n = p·q e φ(n) = (p − 1)(q − 1); l’esponente pubblico e è coprimo con φ(n), e l’esponente privato è d = e⁻¹ mod φ(n). Cifra con c = mᵉ mod n e decifra con m = cᵈ mod n.
Esponente privato
n = 493, φ(n) = 448
d = 19−1 mod 448 = 283
Decifra con il quadrato ripetuto
283 = 256 + 16 + 8 + 2 + 1
3841 ≡ 384 (mod 493)
3842 ≡ 49 (mod 493)
3844 ≡ 429 (mod 493)
3848 ≡ 152 (mod 493)
38416 ≡ 426 (mod 493)
38432 ≡ 52 (mod 493)
38464 ≡ 239 (mod 493)
384128 ≡ 426 (mod 493)
384256 ≡ 52 (mod 493)
384283 ≡ 384·49·152·426·52 ≡ 343 (mod 493)
Messaggio
m = 343
verifica: 34319 mod 493 = 384
Risposta
m = 343
9.Algoritmi e complessità
Risposta: C · O(n)
Perché è questa la risposta
Ci sono n livelli, ciascuno con lavoro costante, come nella somma ricorsiva di un array.
Risposta
C · O(n)
10.Algoritmi e complessità
Risposta: D · W è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W
Perché è questa la risposta
Il tempo di esecuzione è polinomiale nel valore di W ma esponenziale nella sua lunghezza (log W bit); lo zaino 0/1 è NP-completo.
Risposta
D · W è un numero, quindi il tempo è esponenziale nel numero di bit usati per scrivere W
11.Strutture dati
Risposta: B · 4 5 2 3 1
Perché è questa la risposta
La visita in postordine elabora 4 e 5 prima di 2, poi 3 e infine la radice 1.
Risposta
B · 4 5 2 3 1
12.Strutture dati
Risposta: A · O(α(n)), l'inversa della funzione di Ackermann, praticamente costante
Perché è questa la risposta
Con entrambe le ottimizzazioni, le operazioni richiedono un tempo ammortizzato O(α(n)); α(n) ≤ 4 per qualsiasi n realistico.
Risposta
A · O(α(n)), l'inversa della funzione di Ackermann, praticamente costante
13.Teoria dei grafi
Risposta: L = 11
Eulero, Hamilton e alberi: un grafo connesso ha un circuito euleriano (ogni lato una volta, di nuovo al punto di partenza) quando ogni vertice ha grado pari, e un cammino euleriano che non è un circuito quando esattamente due vertici hanno grado dispari; il cammino va allora da un vertice dispari all’altro. Un ciclo hamiltoniano visita ogni vertice una volta; Kn ne ha (n − 1)!/2. Un albero con n vertici ha n − 1 lati, e un grafo connesso con m lati mantiene un albero di copertura dopo aver tolto m − n + 1 lati.
Lemma delle strette di mano per un albero
L + 15 = 2(L + 3) − 2
L = 11
Risposta
L = 11
Scorciatoia: L = 2 + Σ (d − 2) sui vertici di grado d ≥ 3.
14.Teoria dei grafi
Risposta: D
Cammini minimi e alberi di copertura: l’algoritmo di Dijkstra fissa un vertice per passo: il vertice non fissato con la distanza provvisoria minima. La sua distanza è allora definitiva, e ogni vertice adiacente v riceve d(v) = min(d(v), d(u) + w(u, v)). L’algoritmo di Kruskal costruisce un albero di copertura minimo prendendo i lati dal più leggero al più pesante e saltando ogni lato che chiuderebbe un ciclo; l’algoritmo di Prim fa crescere un solo albero da un vertice iniziale aggiungendo sempre il lato più leggero che ne esce. Un albero di copertura di n vertici ha n − 1 lati.
Dijkstra passo per passo
1. A (0): B: 7
2. B (7): C: 9, D: 11, G: 20
3. C (9)
4. D (11): E: 12, F: 16, G: 17
5. E (12): G: 15
6. G (15)
7. F (16)
passo 4
D
Risposta
D
15.Basi di dati e SQL
Risposta: A · 12
Perché è questa la risposta
Un cross join dà il prodotto cartesiano, 3 × 4 = 12 righe.
Risposta
A · 12
16.Basi di dati e SQL
Risposta: C · ROW_NUMBER()
Perché è questa la risposta
ROW_NUMBER assegna numeri sequenziali univoci; RANK lascia dei buchi dopo i pari merito; DENSE_RANK no.
Risposta
C · ROW_NUMBER()
17.Reti di calcolatori
Risposta: C · 192.168.10.64
Perché è questa la risposta
Le sottoreti /26 iniziano da 0, 64, 128 e 192. 77 cade nel blocco 64–127, quindi l'indirizzo di rete è 192.168.10.64.
Risposta
C · 192.168.10.64
18.Reti di calcolatori
Risposta: D · Go-Back-N ritrasmette il frame perso e tutti i successivi; Selective Repeat solo il frame perso
Perché è questa la risposta
Un ricevitore Go-Back-N scarta i frame fuori ordine, quindi il mittente deve ripetere tutto ciò che segue la perdita. Selective Repeat li memorizza nel buffer e richiede solo quello mancante.
Risposta
D · Go-Back-N ritrasmette il frame perso e tutti i successivi; Selective Repeat solo il frame perso
19.Sottoreti IPv4
Risposta: H = 30
Sottoreti IPv4: un indirizzo ha 32 bit. Il prefisso /p indica quanti bit iniziali identificano la rete; i restanti 32 − p bit numerano gli host. Una sottorete ha 2³²⁻ᵖ indirizzi, ma il primo (indirizzo di rete) e l'ultimo (broadcast) non si possono assegnare agli host, quindi ci stanno 2³²⁻ᵖ − 2 host. Eccezioni: una /31 (collegamento punto-punto, RFC 3021) usa entrambi i suoi 2 indirizzi per gli host, e una /32 è un solo indirizzo (un singolo host o un’interfaccia di loopback).
Bit da prendere in prestito
23 = 8 ≥ 8 → b = 3, /27
Host per sottorete
25 − 2 = 30
Risposta
H = 30
20.Sottoreti IPv4
Risposta: x = 36
Sottoreti IPv4: un indirizzo ha 32 bit. Il prefisso /p indica quanti bit iniziali identificano la rete; i restanti 32 − p bit numerano gli host. Una sottorete ha 2³²⁻ᵖ indirizzi, ma il primo (indirizzo di rete) e l'ultimo (broadcast) non si possono assegnare agli host, quindi ci stanno 2³²⁻ᵖ − 2 host. Eccezioni: una /31 (collegamento punto-punto, RFC 3021) usa entrambi i suoi 2 indirizzi per gli host, e una /32 è un solo indirizzo (un singolo host o un’interfaccia di loopback).