n Bit: 2ⁿ Zustände; Mod-N: kleinstes n mit 2ⁿ ≥ N; fout = fclk/N
Asynchronzähler
fmax = 1/(n·tpd)
Ring- und Johnson-Zähler
n und 2n Zustände
Methode
Gehe bei einer Schaltung von den Eingängen zum Ausgang vor, ein Gatter nach dem anderen, und schreibe den Wert an jede Leitung, oder schreibe ihren Ausdruck auf und fülle die Wahrheitstabelle aus.
Trage zum Vereinfachen die Einsen (und die Don’t-Cares als X) in ein Karnaugh-Diagramm mit Zeilen und Spalten im Gray-Code ein: 00, 01, 11, 10.
Decke die Einsen mit möglichst wenigen und möglichst großen Gruppen aus 1, 2, 4, 8 oder 16 Feldern ab, auch über den Rand hinweg; jede Gruppe ist ein Produktterm aus den Variablen, die konstant bleiben. Fasse für die POS-Form die Nullen zusammen.
Lies bei Flipflops und Zählern die Eingänge an jeder aktiven Taktflanke ab, schreibe den Zustand nach jeder Flanke auf und denke daran, dass ein n-Bit-Zähler nach 2ⁿ Zuständen überläuft.
Zahlentheorie & modulare Arithmetik
Division mit Rest
a = q·n + r, 0 ≤ r < n
Euklid
gcd(a, b) = gcd(b, a mod b)
Kleinstes gemeinsames Vielfaches
lcm(a, b) = a·b/gcd(a, b)
Inverse
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Lineare Kongruenz
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Eulersche φ-Funktion
φ(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
Methode
Reduziere zuerst jede Zahl modulo n; die Reste liegen zwischen 0 und n − 1.
Teile für einen ggT wiederholt mit dem euklidischen Algorithmus; der letzte Rest ungleich null ist der ggT.
Führe für ein Inverses den erweiterten Algorithmus aus und behalte den Koeffizienten von a; addiere n, falls er negativ ist.
Löse a·x ≡ b, indem du mit a⁻¹ multiplizierst; kombiniere zwei Kongruenzen, indem du x = r₁ + m₁k schreibst.
Schreibe bei Potenzen den Exponenten binär und quadriere wiederholt; bei RSA gilt d = e⁻¹ mod φ(n) mit φ(n) = (p − 1)(q − 1).
Graphentheorie
Handschlaglemma
Σ deg(v) = 2|E|
Vollständige Graphen
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Regulärer Graph
|E| = n·k/2
Baum und Wald
|E| = n − 1, |E| = n − c
Blätter eines Baums
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
Kreis: alle Grade gerade; Weg: genau 2 ungerade Grade
Hamilton-Kreise in Kn
(n − 1)!/2
Dijkstra-Aktualisierung
d(v) = min(d(v), d(u) + w(u, v))
Wege der Länge L
(Mᴸ)ij
Methode
Schreibe den Grad jedes Knotens auf; die Grade summieren sich zum Doppelten der Kantenzahl.
Prüfe bei Euler-Aufgaben, ob der Graph zusammenhängend ist, und zähle die Knoten mit ungeradem Grad.
Verwende bei Bäumen n − 1 Kanten und das Handschlaglemma.
Führe bei Dijkstra eine Tabelle der vorläufigen Abstände und schließe in jeder Runde den kleinsten noch offenen Knoten ab.
Sortiere für einen minimalen aufspannenden Baum die Kanten nach Gewicht und überspringe jede Kante, die einen Kreis schließt (Kruskal), oder lass einen Baum von einem Startknoten aus wachsen (Prim).
IPv4-Subnetting
Hosts pro Subnetz
2(32 − prefix) − 2 (/31: 2, /32: 1)
Blockgröße
256 − (mask octet)
Netzadresse
IP AND Maske
Broadcast-Adresse
IP OR (NOT Maske): alle Host-Bits auf 1
Subnetze aus n geliehenen Bits
2n
2Übungsaufgaben
1.ZahlensystemeMittel
Schreibe −27 als 8-Bit-Muster im Zweierkomplement. Lies das Muster als vorzeichenlose Binärzahl: Welchen Wert U hat es im Dezimalsystem?
N = −278 bit
U =
2.ZahlensystemeSchwer
Ein System muss jedem von 3805 Elementen einen eigenen Binärcode gleicher Länge geben. Wie viele Bits b braucht es mindestens?
3805
b = bit
3.Aussagenlogik & BeweiseMittel
Ist q → (q ∧ r) eine Tautologie, eine Kontradiktion oder eine Kontingenz? Klicke deine Antwort an.
q → (q ∧ r)
1Tautologie
2Kontradiktion
3Kontingenz
4.Aussagenlogik & BeweiseSchwer
Welche Aussage ist äquivalent zu ¬∃x (F(x) → G(x)), wenn die Negation ganz nach innen gezogen ist? Klicke sie an.
In diesem Karnaugh-Diagramm hat genau eine 1 keine benachbarte 1, bleibt also in der minimalen SOP-Form eine Gruppe aus einem Feld (ein voller Minterm mit vier Literalen). Nachbarn über den Rand des Diagramms zählen mit. Klicke dieses Feld an.
Ein 3-Bit-Binär-Abwärtszähler startet bei 0 (dezimal, Q = 000). Welchen Zählerstand Q (dezimal) zeigt er nach 22 Taktimpulsen?
Q0 = 022n = 3
Q =
7.Zahlentheorie & modulare ArithmetikMittel
Bestimme das Inverse von 17 modulo 29: die Zahl x mit 0 < x < 29 und 17·x ≡ 1 (mod 29).
a = 17n = 29
17−1 mod 29 =
8.Zahlentheorie & modulare ArithmetikSchwer
61 ist eine Primzahl. Bestimme 2680367 mod 61 mit dem kleinen Satz von Fermat.
p = 61k = 80367
2680367 mod 61 =
9.Algorithmen & KomplexitätMittel
Wie baut der Algorithmus von Prim einen minimalen Spannbaum auf?
AEr führt eine Breitensuche aus und behält den BFS-Baum
BEr sortiert alle Kanten nach Gewicht und fügt jede hinzu, sofern sie im Wald keinen Kreis bildet
CEr entfernt die teuerste Kante, bis keine Kreise mehr übrig sind
DEr lässt einen Baum von einem Startknoten aus wachsen und fügt die günstigste Kante hinzu, die den Baum verlässt
10.Algorithmen & KomplexitätSchwer
Wie verhalten sich n! und 2ⁿ für große n zueinander?
An! ist O(n²)
B2ⁿ wächst schneller als n!
CSie wachsen gleich schnell
Dn! wächst schneller als 2ⁿ
11.DatenstrukturenMittel
Die Schlüssel 50, 30, 70, 20, 40 werden in dieser Reihenfolge in einen leeren binären Suchbaum eingefügt. Was ist das linke Kind von 30?
A70
B40
C20
D50
12.DatenstrukturenSchwer
Welche Datenstruktur ermöglicht einen LRU-Cache (least recently used) mit get und put in O(1)?
AEine Hashmap kombiniert mit einer doppelt verketteten Liste
BEin einzelnes sortiertes Array
CNur ein Stack
DNur ein binärer Suchbaum
13.GraphentheorieMittel
Hat der zusammenhängende Graph einen Euler-Kreis, einen Euler-Weg, der kein Kreis ist, oder keines von beiden? Klicke deine Antwort an.
|V| = 7|E| = 12
1Euler-Kreis
2Euler-Weg, kein Kreis
3keines von beiden
14.GraphentheorieSchwer
Der Kruskal-Algorithmus baut einen minimalen aufspannenden Baum auf. Klicke die Kante an, die er als Kante Nummer 3 hinzufügt; übersprungene Kanten zählen nicht.
k = 3
1Kante AB
2Kante AC
3Kante BC
4Kante BD
5Kante CE
6Kante DE
7Kante BE
15.Datenbanken & SQLMittel
Was ist ein Dirty Read?
ADas Lesen von Daten von einer beschädigten Festplatte
BDas Lesen von Daten, die eine andere, noch nicht festgeschriebene Transaktion geschrieben hat
CDas zweimalige Lesen derselben Zeile mit demselben Wert
DDas Lesen von Daten ohne WHERE-Klausel
16.Datenbanken & SQLSchwer
Warum verwenden viele DBMS striktes Zwei-Phasen-Sperren und halten exklusive Sperren bis zum Commit?
AEs erlaubt Transaktionen, Dirty Data sicher zu lesen
BEs macht Deadlocks unmöglich
CEs macht ein Transaktionslog überflüssig
DEs verhindert kaskadierende Abbrüche, weil niemand nicht festgeschriebene Schreibvorgänge lesen kann
17.RechnernetzeMittel
Warum wird UDP bei Live-Videoanrufen oft bevorzugt?
AUDP garantiert, dass jedes Paket ankommt, sodass das Bild nie einfriert
BUDP ist für alle Videos vorgeschrieben
CGeringe Verzögerung ist wichtiger als die Neuübertragung jedes verlorenen Pakets
DUDP verschlüsselt Daten automatisch
18.RechnernetzeSchwer
Die Stationen A und C erreichen beide den Access Point B, hören sich aber gegenseitig nicht, sodass ihre Rahmen bei B kollidieren. Wie hilft 802,11?
AIndem die TTL der Rahmen erhöht wird
BIndem die Rahmen von A über C geleitet werden
CMit optionalem RTS/CTS-Austausch: Das CTS des AP sagt allen Stationen in der Nähe, dass sie warten sollen
DIndem A und C Kollisionserkennung nutzen und aufhören zu senden, wenn sich Rahmen überlagern
19.IPv4-SubnettingMittel
Das Netz 10.60.188.0/22 wird in gleich große Subnetze mit dem Präfix /26 aufgeteilt. Wie viele Subnetze N gibt es?
10.60.188.0/22/26
N =
20.IPv4-SubnettingSchwer
Ein Host hat die Adresse 172.20.13.251/23. Wie lautet das dritte Oktett x der Broadcastadresse seines Subnetzes?
172.20.13.251/23
x =
3Lösungen
1.Zahlensysteme
Antwort: U = 229
Stellenwertsysteme: Jede Ziffer ist ihren Wert mal eine Potenz der Basis wert. Im Binärsystem sind die Stellen 1, 2, 4, 8, 16, … wert, im Hexadezimalsystem 1, 16, 256, …, wobei A–F für 10–15 stehen. Im 8-Bit-Zweierkomplement ist das linke Bit −128 statt +128 wert; so werden negative Zahlen gespeichert.
Invertieren und eins addieren
27 = 0001 1011
invertiert: 1110 0100
+1 → 1110 0101
Vorzeichenlos lesen
1110 0101₂ = 256 − 27 = 229
Antwort
U = 229
2.Zahlensysteme
Antwort: b = 12 bit
Stellenwertsysteme: Jede Ziffer ist ihren Wert mal eine Potenz der Basis wert. Im Binärsystem sind die Stellen 1, 2, 4, 8, 16, … wert, im Hexadezimalsystem 1, 16, 256, …, wobei A–F für 10–15 stehen. Im 8-Bit-Zweierkomplement ist das linke Bit −128 statt +128 wert; so werden negative Zahlen gespeichert.
Zweierpotenzen
211 = 2048 < 3805
212 = 4096 ≥ 3805
Antwort
b = 12
3.Aussagenlogik & Beweise
Antwort: Kontingenz
Logische Äquivalenz: Zwei Formeln sind äquivalent (≡), wenn sie in jeder Zeile der Wahrheitstafel denselben Wert haben. Eine Tautologie ist in jeder Zeile 1, eine Kontradiktion in jeder Zeile 0, und eine Kontingenz ist keines von beiden. Nützliche Gesetze: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b und ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (Kontraposition); ¬(a → b) ≡ a ∧ ¬b; und die Distributivgesetze, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
Wahrheitstafel Zeile für Zeile
q = 1, r = 1: q ∧ r = 1, q → (q ∧ r) = 1
q = 1, r = 0: q ∧ r = 0, q → (q ∧ r) = 0
q = 0, r = 1: q ∧ r = 0, q → (q ∧ r) = 1
q = 0, r = 0: q ∧ r = 0, q → (q ∧ r) = 1
Einordnen
q → (q ∧ r): 1, 0, 1, 1
1 in 3 der 4 Zeilen, 0 in den anderen: eine Kontingenz.
Antwort
Kontingenz
4.Aussagenlogik & Beweise
Antwort: ∀x (F(x) ∧ ¬G(x))
Quantoren und Argumente: ¬∀x P(x) ≡ ∃x ¬P(x) und ¬∃x P(x) ≡ ∀x ¬P(x). Ziehe eine Negation nach innen, vertausche jeden Quantor, den sie passiert, und negiere die innere Formel mit den aussagenlogischen Gesetzen, etwa ¬(a → b) ≡ a ∧ ¬b. Ein Argument ist gültig, wenn die Konklusion in jeder Zeile 1 ist, in der alle Prämissen 1 sind. Eine einzige Zeile mit wahren Prämissen und falscher Konklusion ist ein Gegenbeispiel und zeigt, dass das Argument ungültig ist.
Die Negation nach innen ziehen
¬∃x (F(x) → G(x)) ≡ ∀x (F(x) ∧ ¬G(x))
Antwort
∀x (F(x) ∧ ¬G(x))
Die anderen Optionen lassen entweder einen Quantor unverändert, ändern die Reihenfolge der Quantoren oder negieren die innere Formel falsch.
Karnaugh-Diagramme: Die Felder sind im Gray-Code (00, 01, 11, 10) angeordnet, benachbarte Felder, auch die über den Rand hinweg, unterscheiden sich also in genau einer Variablen. Fasse die Einsen in Rechtecken aus 1, 2, 4, 8 oder 16 Feldern zusammen, so groß und so wenige wie möglich, bis jede 1 abgedeckt ist. Jede Gruppe ist ein Produktterm: die Variablen, die in ihr konstant bleiben. Eine Gruppe aus 2ᵏ Feldern verliert k Variablen. Don’t-Cares (X) dürfen genutzt werden, um Gruppen zu vergrößern, müssen aber nie abgedeckt werden. Fasst du stattdessen die Nullen zusammen, erhältst du die minimale POS-Form.
Nachbarn jeder 1
Eine 1 mit einer benachbarten 1 kann einer Gruppe aus zwei oder mehr Feldern angehören.
Flipflops und Zähler: Ein Flipflop ändert sich nur bei der aktiven Taktflanke. D übernimmt seinen Eingang (Q⁺ = D); T kippt bei T = 1; JK hält bei 00, setzt bei 01 zurück, setzt bei 10 und kippt bei 11. Ein n-Bit-Binärzähler hat 2ⁿ Zustände und zählt modulo 2ⁿ; ein Mod-N-Zähler läuft 0, 1, …, N − 1 und wieder auf 0 und braucht die kleinste Anzahl n von Flipflops mit 2ⁿ ≥ N. Jede Stufe eines Asynchronzählers halbiert die Frequenz, daher läuft der letzte Ausgang eines Mod-N-Zählers mit fclk/N. Ein Johnson-Zähler aus n Flipflops hat 2n Zustände, ein Ringzähler n.
Volle Zyklen
Alle 8 Impulse bringen den Zähler in denselben Zustand zurück.
22 = 2·8 + 6
Zählerstand nach den restlichen Impulsen
Q = (0 − 6) mod 8 = 2
Q = 010₂
Antwort
Q = 2
7.Zahlentheorie & modulare Arithmetik
Antwort: 17−1 mod 29 = 12
Inverse und Kongruenzen: a hat genau dann ein Inverses modulo n, wenn ggT(a, n) = 1. Der erweiterte euklidische Algorithmus schreibt 1 = s·n + t·a, und dann ist a⁻¹ ≡ t (mod n). Eine Kongruenz a·x ≡ b (mod n) mit ggT(a, n) = 1 hat die Lösung x ≡ a⁻¹·b. Zwei Kongruenzen x ≡ r₁ (mod m₁) und x ≡ r₂ (mod m₂) mit teilerfremden Moduln haben eine Lösung modulo m₁·m₂ (chinesischer Restsatz). Eulers φ(n) zählt die Zahlen von 1 bis n, die zu n teilerfremd sind: φ(n) = n·∏(1 − 1/p).
Erweiterter euklidischer Algorithmus
Jeder Rest r wird als r ≡ t·17 (mod 29) geschrieben.
r = 29, t = 0
r = 17, q = 1, t = 1
r = 12, q = 1, t = −1
r = 5, q = 2, t = 2
r = 2, q = 2, t = −5
r = 1, q = 2, t = 12
Inverse
1 ≡ 12·17 (mod 29)
x = 12
Probe: 17·12 = 204 = 7·29 + 1
Antwort
17−1 mod 29 = 12
8.Zahlentheorie & modulare Arithmetik
Antwort: 2680367 mod 61 = 38
Modulare Potenzen und RSA: Berechne aᵏ mod n durch wiederholtes Quadrieren: Schreibe k binär, quadriere, reduziere nach jedem Schritt und multipliziere die Potenzen, deren Bit 1 ist. Fermat: aᵖ⁻¹ ≡ 1 (mod p) für eine Primzahl p, die a nicht teilt, der Exponent lässt sich also modulo p − 1 reduzieren. RSA: Wähle Primzahlen p und q, n = p·q und φ(n) = (p − 1)(q − 1); der öffentliche Exponent e ist teilerfremd zu φ(n), und der private Exponent ist d = e⁻¹ mod φ(n). Verschlüssele mit c = mᵉ mod n und entschlüssele mit m = cᵈ mod n.
Den Exponenten reduzieren
80367 mod 60 = 27
2680367 ≡ 2627 (mod 61)
Kleine Potenz
2627 mod 61 = 38
Antwort
2680367 mod 61 = 38
9.Algorithmen & Komplexität
Antwort: D · Er lässt einen Baum von einem Startknoten aus wachsen und fügt die günstigste Kante hinzu, die den Baum verlässt
Warum das die Antwort ist
Der Algorithmus von Prim läuft mit einer Prioritätswarteschlange der kreuzenden Kanten bei einem binären Heap in O(E log V).
Antwort
D · Er lässt einen Baum von einem Startknoten aus wachsen und fügt die günstigste Kante hinzu, die den Baum verlässt
10.Algorithmen & Komplexität
Antwort: D · n! wächst schneller als 2ⁿ
Warum das die Antwort ist
Für n ≥ 4 übersteigt n! den Wert 2ⁿ, und das Verhältnis wächst unbeschränkt, weil jeder weitere Faktor von n! größer als 2 ist.
Antwort
D · n! wächst schneller als 2ⁿ
11.Datenstrukturen
Antwort: C · 20
Warum das die Antwort ist
20 ist kleiner als 50 und kleiner als 30, wird also das linke Kind von 30; 40 wird sein rechtes Kind.
Antwort
C · 20
12.Datenstrukturen
Antwort: A · Eine Hashmap kombiniert mit einer doppelt verketteten Liste
Warum das die Antwort ist
Die Hashmap findet Knoten in O(1), und die doppelt verkettete Liste verschiebt zugegriffene Elemente nach vorne und entfernt hinten in O(1).
Antwort
A · Eine Hashmap kombiniert mit einer doppelt verketteten Liste
13.Graphentheorie
Antwort: Euler-Kreis
Euler, Hamilton und Bäume: Ein zusammenhängender Graph hat einen Euler-Kreis (jede Kante einmal, zurück zum Start), wenn jeder Knoten geraden Grad hat, und einen Euler-Weg, der kein Kreis ist, wenn genau zwei Knoten ungeraden Grad haben; der Weg verläuft dann von einem ungeraden Knoten zum anderen. Ein Hamilton-Kreis besucht jeden Knoten einmal; Kn hat (n − 1)!/2 davon. Ein Baum mit n Knoten hat n − 1 Kanten, und ein zusammenhängender Graph mit m Kanten behält einen aufspannenden Baum, wenn man m − n + 1 Kanten entfernt.
Kürzeste Wege und aufspannende Bäume: Der Dijkstra-Algorithmus schließt in jeder Runde einen Knoten ab: den offenen Knoten mit dem kleinsten vorläufigen Abstand. Sein Abstand ist dann endgültig, und jeder Nachbar v erhält d(v) = min(d(v), d(u) + w(u, v)). Der Kruskal-Algorithmus baut einen minimalen aufspannenden Baum auf, indem er die Kanten von leicht nach schwer nimmt und jede Kante überspringt, die einen Kreis schließen würde; der Prim-Algorithmus lässt einen Baum von einem Startknoten aus wachsen, indem er immer die leichteste Kante hinzufügt, die aus ihm herausführt. Ein aufspannender Baum mit n Knoten hat n − 1 Kanten.
Kruskal-Algorithmus
1. CE (2)
2. AC (4)
3. DE (5)
4. AB (9)
Kantennummer 3
DE
Antwort
Kante DE
15.Datenbanken & SQL
Antwort: B · Das Lesen von Daten, die eine andere, noch nicht festgeschriebene Transaktion geschrieben hat
Warum das die Antwort ist
Ein Dirty Read sieht nicht festgeschriebene Änderungen, die rückgängig gemacht werden könnten; er ist nur auf der Stufe Read Uncommitted möglich.
Antwort
B · Das Lesen von Daten, die eine andere, noch nicht festgeschriebene Transaktion geschrieben hat
16.Datenbanken & SQL
Antwort: D · Es verhindert kaskadierende Abbrüche, weil niemand nicht festgeschriebene Schreibvorgänge lesen kann
Warum das die Antwort ist
Einfaches 2PL garantiert Serialisierbarkeit, doch ein frühes Freigeben von Schreibsperren könnte andere Daten lesen lassen, die später zurückgerollt werden; striktes 2PL vermeidet das.
Antwort
D · Es verhindert kaskadierende Abbrüche, weil niemand nicht festgeschriebene Schreibvorgänge lesen kann
17.Rechnernetze
Antwort: C · Geringe Verzögerung ist wichtiger als die Neuübertragung jedes verlorenen Pakets
Warum das die Antwort ist
Die Neuübertragung verlorener Pakete würde Verzögerung verursachen; Echtzeitmedien tolerieren etwas Verlust, daher werden UDP-basierte Protokolle wie RTP verwendet.
Antwort
C · Geringe Verzögerung ist wichtiger als die Neuübertragung jedes verlorenen Pakets
18.Rechnernetze
Antwort: C · Mit optionalem RTS/CTS-Austausch: Das CTS des AP sagt allen Stationen in der Nähe, dass sie warten sollen
Warum das die Antwort ist
Eine Station sendet Request to Send; der AP antwortet mit Clear to Send, das jede Station in seiner Reichweite hört, sodass verdeckte Stationen für die reservierte Zeit warten.
Antwort
C · Mit optionalem RTS/CTS-Austausch: Das CTS des AP sagt allen Stationen in der Nähe, dass sie warten sollen
19.IPv4-Subnetting
Antwort: N = 16
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Geliehene Bits
26 − 22 = 4
Anzahl der Subnetze
N = 24 = 16
Antwort
N = 16
Jedes /26-Subnetz hat 26 − 2 = 62 nutzbare Hosts.
20.IPv4-Subnetting
Antwort: x = 13
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).