Talstelsels
- Plaatswaarden
- binair 2k, octaal 8k, hex 16k
- Naar decimaal
- Σ dk·bk
- Vanuit decimaal
- deel door het grondtal en lees de resten van onder naar boven
- Hex ↔ binair
- één hexcijfer = 4 bits
- Two's complement
- inverteer de bits en tel 1 op
Formuleoverzichten, de belangrijkste methodestappen voor elk onderwerp en 20 oefenopgaven, met volledige oplossingen achterin.
Stel de bits zo in dat ze −95 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
Wat is het meest negatieve gehele getal N dat in 32-bits two's complement past?
In hoeveel van de 8 rijen van zijn waarheidstabel is (¬a ∨ c) ∧ (b ∧ a) waar? Noem dit aantal N.
Welke uitspraak is equivalent met ¬∀x ∀y (R(x, y) → R(y, x)), met de ontkenning helemaal naar binnen geschoven? Klik erop.
Een 4-naar-1-multiplexer heeft selectie-ingangen S₁ = A en S₀ = B, en data-ingangen gekoppeld aan I₀ = C, I₁ = 0, I₂ = C′, I₃ = 1. Voor hoeveel van de 8 combinaties van A, B en C is de uitgang F = 1? Bepaal N.
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(2, 5, 7, 10, 11, 13) + d(3, 8, 14), waarbij d de don’t-care-condities aangeeft. Hoeveel literals L bevat die?
Bepaal Eulers φ φ(351), het aantal gehele getallen van 1 tot 351 die onderling ondeelbaar zijn met 351.
Een RSA-sleutel gebruikt de priemgetallen p = 17 en q = 19 en de publieke exponent e = 5. Bepaal de privé-exponent d (0 < d < φ(n)).
De tijdcomplexiteit van naïef recursief Fibonacci (fib(n) = fib(n−1) + fib(n−2)) is:
Topologisch sorteren is alleen mogelijk voor:
Wat is de tijdcomplexiteit van het zoeken naar een sleutel in een gebalanceerde binaire zoekboom?
Waarom kun je elementen niet zomaar uit een standaard-Bloomfilter verwijderen door hun bits te wissen?
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Hoeveel wandelingen van lengte 2 gaan van E naar C? Een wandeling mag hoekpunten en kanten herhalen. Noem het aantal N.
Wat geeft SELECT COALESCE(phone, 'unknown') FROM customers terug voor een klant van wie phone NULL is?
Waarom wordt NATURAL JOIN als riskant beschouwd in productiequery's?
Met welke CIDR-notatie komt het subnetmasker 255.255.255.0 overeen?
Een DNS-cache-poisoningaanval heeft als doel:
Het netwerk 192.168.10.0/24 moet worden verdeeld in minstens 8 gelijke subnetten. Als je zo weinig mogelijk bits leent, hoeveel bruikbare hosts H heeft elk subnet?
Een router heeft routes naar deze netwerken: 10.32.193.0/24, 10.32.194.0/24. Wat is de langste prefixlengte p van één samenvattende route die ze allemaal dekt?
Antwoord: U = 161
Bits instellen: elke bit is een macht van twee waard (128, 64, …, 1). Eén hexadecimaal cijfer is precies vier bits, en in 8-bits tweecomplement is de meest linkse bit −128 waard. Bitsgewijze bewerkingen werken op elke bitpositie apart.
Antwoord: N = −2,147 × 10⁹
Positionele talstelsels: elk cijfer is zijn waarde maal een macht van het grondtal waard. Binair zijn de posities 1, 2, 4, 8, 16, … waard, hexadecimaal 1, 16, 256, …, met A–F voor 10–15. In 8-bits two's complement is het meest linkse bit −128 waard in plaats van +128; zo worden negatieve getallen opgeslagen.
Antwoord: N = 1
Waarheidstabellen: een formule met n verschillende variabelen heeft 2ⁿ rijen, één voor elke combinatie van waarheidswaarden (1 = waar, 0 = onwaar). Werk van binnen naar buiten en geef elke deelformule een eigen kolom. ¬a draait de waarde om; a ∧ b is alleen 1 als beide 1 zijn; a ∨ b is alleen 0 als beide 0 zijn; a → b is alleen 0 als a = 1 en b = 0; a ↔ b is 1 als beide kanten gelijk zijn.
Antwoord: ∃x ∃y (R(x, y) ∧ ¬R(y, x))
Kwantoren en redeneringen: ¬∀x P(x) ≡ ∃x ¬P(x) en ¬∃x P(x) ≡ ∀x ¬P(x). Schuif een ontkenning naar binnen, verwissel elke kwantor die ze passeert en ontken de binnenste formule met de propositiewetten, zoals ¬(a → b) ≡ a ∧ ¬b. Een redenering is geldig als de conclusie 1 is in elke rij waarin alle premissen 1 zijn. Eén rij met ware premissen en een onware conclusie is een tegenvoorbeeld en toont aan dat de redenering ongeldig is.
De andere opties laten een kwantor onveranderd, veranderen de volgorde van de kwantoren, of ontkennen de binnenste formule verkeerd.
Antwoord: N = 4
Multiplexer: een 2ⁿ-naar-1-multiplexer geeft één van zijn data-ingangen door aan de uitgang; de selectielijnen, gelezen als binair getal, kiezen welke. Voor een 4-naar-1-MUX met selecties S₁S₀ = AB is F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Door de data-ingangen aan 0, 1, C of C′ te koppelen, maakt de MUX elke functie van A, B en C, wat een veelgebruikte manier is om logica met één chip te bouwen.
Antwoord: L = 8
Karnaugh-kaarten: de cellen staan in Gray-code (00, 01, 11, 10), dus naburige cellen, ook die over de randen heen, verschillen in precies één variabele. Groepeer de enen in rechthoeken van 1, 2, 4, 8 of 16 cellen, zo groot en zo weinig mogelijk, totdat elke 1 gedekt is. Elke groep is één productterm: de variabelen die erin constant blijven. Een groep van 2ᵏ cellen verliest k variabelen. Don’t-cares (X) mogen worden gebruikt om groepen groter te maken maar hoeven nooit gedekt te worden. Groepeer je in plaats daarvan de nullen, dan krijg je de minimale POS-vorm.
De grootste groepen die uit enen en X’en gevormd kunnen worden.
Er bestaat een andere groepering van dezelfde grootte; die heeft hetzelfde aantal termen en literals.
Antwoord: φ(351) = 216
Inversen en congruenties: a heeft een inverse modulo n precies als ggd(a, n) = 1. Het uitgebreide algoritme van Euclides schrijft 1 = s·n + t·a, en dan is a⁻¹ ≡ t (mod n). Een congruentie a·x ≡ b (mod n) met ggd(a, n) = 1 heeft de oplossing x ≡ a⁻¹·b. Twee congruenties x ≡ r₁ (mod m₁) en x ≡ r₂ (mod m₂) met onderling ondeelbare moduli hebben één oplossing modulo m₁·m₂ (Chinese reststelling). Eulers φ(n) telt de getallen van 1 tot n die onderling ondeelbaar zijn met n: φ(n) = n·∏(1 − 1/p).
Antwoord: d = 173
Modulaire machten en RSA: bereken aᵏ mod n door herhaald kwadrateren: schrijf k binair, kwadrateer, reduceer na elke stap en vermenigvuldig de machten waarvan de bit 1 is. Fermat: aᵖ⁻¹ ≡ 1 (mod p) voor een priemgetal p dat a niet deelt, dus de exponent kan modulo p − 1 gereduceerd worden. RSA: kies priemgetallen p en q, n = p·q en φ(n) = (p − 1)(q − 1); de publieke exponent e is onderling ondeelbaar met φ(n), en de privé-exponent is d = e⁻¹ mod φ(n). Versleutel met c = mᵉ mod n en ontsleutel met m = cᵈ mod n.
Antwoord: D · Exponentieel
De aanroepboom groeit ongeveer als φⁿ (ongeveer 1,618ⁿ). Memoisatie brengt dit terug tot O(n).
Antwoord: D · Gerichte acyclische grafen (DAG)
Een topologische volgorde bestaat dan en slechts dan als de gerichte graaf geen cycli heeft; die is te vinden in O(V + E) met DFS of het algoritme van Kahn.
Antwoord: A · O(log n)
Een gebalanceerde boom heeft een hoogte van ongeveer log₂ n, dus een zoekactie volgt één pad van de wortel naar een blad.
Antwoord: D · Die bits kunnen ook bij andere elementen horen, wat fout-negatieven zou veroorzaken
Het wissen van een gedeelde bit zou een ander element afwezig laten lijken; counting Bloom filters houden tellers bij in plaats van bits om verwijderen mogelijk te maken.
Antwoord: Eulercircuit
Euler, Hamilton en bomen: een samenhangende graaf heeft een Eulercircuit (elke kant één keer, terug naar het begin) als elk hoekpunt even graad heeft, en een Eulerpad dat geen circuit is als precies twee hoekpunten oneven graad hebben; het pad loopt dan van het ene oneven hoekpunt naar het andere. Een Hamiltoncircuit bezoekt elk hoekpunt één keer; Kn heeft er (n − 1)!/2. Een boom op n hoekpunten heeft n − 1 kanten, en een samenhangende graaf met m kanten houdt een opspannende boom over na het verwijderen van m − n + 1 kanten.
Antwoord: N = 1
Graden: de graad van een hoekpunt is het aantal kanten dat erin samenkomt. Elke kant heeft twee uiteinden, dus de graden tellen op tot twee keer het aantal kanten: Σ deg(v) = 2|E| (het handenschudlemma). Het aantal hoekpunten met oneven graad is daarom even. Kn heeft n(n − 1)/2 kanten, een k-reguliere graaf op n hoekpunten heeft nk/2, en een boom op n hoekpunten heeft n − 1 kanten.
Antwoord: A · 'unknown'
COALESCE controleert zijn argumenten van links naar rechts en geeft het eerste terug dat niet NULL is, hier 'unknown'.
Antwoord: A · Hij koppelt op elke kolom met dezelfde naam, dus een nieuwe kolom kan het resultaat ongemerkt veranderen
Een natural join koppelt alle kolommen met dezelfde naam, bijvoorbeeld een niet-gerelateerde "name" of "created_at"; een expliciete ON- of USING-clausule is veiliger.
Antwoord: C · /24
Drie octetten van 255 zijn 24 enen, dus 255.255.255.0 = /24.
Antwoord: B · Een resolver een vals IP-adres voor een domein te laten opslaan
Poisoning voegt vervalste records toe aan de cache van een resolver. DNSSEC voegt handtekeningen toe zodat resolvers records kunnen verifiëren.
Antwoord: H = 30
IPv4-subnetting: een adres heeft 32 bits. Het prefix /p geeft aan hoeveel voorste bits het netwerk aanduiden; de overige 32 − p bits nummeren de hosts. Een subnet heeft 2³²⁻ᵖ adressen, maar het eerste (netwerkadres) en het laatste (broadcastadres) kunnen niet aan hosts worden gegeven, dus er passen 2³²⁻ᵖ − 2 hosts in. Uitzonderingen: een /31 (point-to-pointverbinding, RFC 3021) gebruikt allebei zijn 2 adressen voor hosts, en een /32 is één enkel adres (één host of een loopback).
Antwoord: p = 22
Routesamenvatting: een samenvattende route a.b.c.0/p dekt alle netwerken waarvan de eerste p bits overeenkomen. Schrijf het octet dat verschilt van het eerste en het laatste netwerk binair; het aantal gemeenschappelijke voorste bits, plus de bits van de octetten ervoor, is het langste samenvattende prefix.
Samenvattende route: 10.32.192.0/22 (die dekt ook 2 netwerk(en) die niet in de lijst staan).
ExamProblems · examproblems.com/courses/computer-science-fundamentals