Number systems
- Place values
- binary 2k, octal 8k, hex 16k
- To decimal
- Σ dk·bk
- From decimal
- divide by the base, read the remainders bottom-up
- Hex ↔ binary
- one hex digit = 4 bits
- Two’s complement
- invert the bits and add 1
Formula sheets, the key method steps for every topic and 20 practice problems, with full solutions at the back.
Write −92 as an 8-bit two's complement pattern. Read the pattern as an unsigned binary number: what is its value U in decimal?
A system must give every one of 4866 items its own binary code of the same length. What is the smallest number of bits b needed?
You want to prove b → ¬a by contrapositive. Which implication do you prove instead? Click it.
How many of the 16 rows of the truth table make ¬(q → r) ∨ ((q ∨ s) → ¬p) true? Call this number N.
Use the Karnaugh map to find the minimal product-of-sums (POS) form of F(A, B, C, D) = Σm(0, 1, 2, 3, 6, 7, 8, 12, 14). How many sum terms (factors) N does it have?
A 3-bit binary up counter starts at 5 (decimal, Q = 101). Which count Q (in decimal) does it show after 18 clock pulses?
Solve 39x ≡ 45 (mod 59). Give the solution x with 0 < x < 59.
Solve 38x ≡ 48 (mod 52). Give the smallest positive solution x.
Which statement about a recursive function without a reachable base case is correct?
Why can Dijkstra's algorithm give wrong results when some edge weights are negative?
How many nodes does a perfect binary tree of height h have, with height counted in edges?
How long does it take to search for an arbitrary key in a binary min-heap of n elements?
How many different Hamilton circuits H does the complete graph K8 have? Circuits that differ only in the starting vertex or the direction count as the same.
Prim’s algorithm builds a minimum spanning tree starting from vertex A. Click the edge it adds as edge number 3.
A LEFT JOIN returns:
What is a known drawback of decomposing tables into BCNF compared with 3NF?
What does a subnet mask of 255.255.255.0 correspond to in CIDR notation?
A DNS cache poisoning attack aims to:
A subnet uses the mask 255.255.255.252. How many usable host addresses H does it have?
A host has the address 172.20.145.147/21. What is the third octet x of its network address?
Answer: U = 164
Positional number systems: each digit is worth its value times a power of the base. In binary the places are worth 1, 2, 4, 8, 16, …; in hexadecimal 1, 16, 256, …, with A–F standing for 10–15. In 8-bit two's complement the leftmost bit is worth −128 instead of +128, which is how negative numbers are stored.
Answer: b = 13 bit
Positional number systems: each digit is worth its value times a power of the base. In binary the places are worth 1, 2, 4, 8, 16, …; in hexadecimal 1, 16, 256, …, with A–F standing for 10–15. In 8-bit two's complement the leftmost bit is worth −128 instead of +128, which is how negative numbers are stored.
Answer: ¬¬a → ¬b
Logical equivalence: two formulas are equivalent (≡) when they have the same value in every row of the truth table. A tautology is 1 in every row, a contradiction is 0 in every row, and a contingency is neither. Useful laws: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b and ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contrapositive); ¬(a → b) ≡ a ∧ ¬b; and the distributive laws, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
The contrapositive is equivalent to the original statement, so proving it proves the statement.
Answer: N = 12
Truth tables: a formula with n different variables has 2ⁿ rows, one for every combination of truth values (1 = true, 0 = false). Work from the inside out and give every subformula its own column. ¬a flips the value; a ∧ b is 1 only when both are 1; a ∨ b is 0 only when both are 0; a → b is 0 only when a = 1 and b = 0; a ↔ b is 1 when both sides are equal.
Answer: N = 3
Karnaugh maps: the cells are ordered in Gray code (00, 01, 11, 10), so neighbouring cells, including the ones across the edges, differ in exactly one variable. Group the 1s in rectangles of 1, 2, 4, 8 or 16 cells, as large as possible and as few as possible, until every 1 is covered. Each group is one product term: the variables that stay constant inside it. A group of 2ᵏ cells loses k variables. Don't-cares (X) may be used to make groups bigger but never have to be covered. Grouping the 0s instead gives the minimal POS form.
Every group is a rectangle of 2ᵏ cells; edge cells are neighbours of the cells on the opposite edge.
Answer: Q = 7
Flip-flops and counters: a flip-flop changes only at the active clock edge. D copies its input (Q⁺ = D); T toggles when T = 1; JK holds for 00, resets for 01, sets for 10 and toggles for 11. An n-bit binary counter has 2ⁿ states and counts modulo 2ⁿ; a mod-N counter goes 0, 1, …, N − 1 and back to 0, and needs the smallest n with 2ⁿ ≥ N flip-flops. Each stage of a ripple counter halves the frequency, so the last output of a mod-N counter runs at fclk/N. A Johnson counter of n flip-flops has 2n states, a ring counter n.
Every 8 pulses bring the counter back to the same state.
Answer: x = 42
Inverses and congruences: a has an inverse modulo n exactly when gcd(a, n) = 1. The extended Euclidean algorithm writes 1 = s·n + t·a, and then a⁻¹ ≡ t (mod n). A congruence a·x ≡ b (mod n) with gcd(a, n) = 1 has the solution x ≡ a⁻¹·b. Two congruences x ≡ r₁ (mod m₁) and x ≡ r₂ (mod m₂) with coprime moduli have one solution modulo m₁·m₂ (Chinese remainder theorem). Euler’s φ(n) counts the numbers from 1 to n that are coprime to n: φ(n) = n·∏(1 − 1/p).
Answer: x = 4
Inverses and congruences: a has an inverse modulo n exactly when gcd(a, n) = 1. The extended Euclidean algorithm writes 1 = s·n + t·a, and then a⁻¹ ≡ t (mod n). A congruence a·x ≡ b (mod n) with gcd(a, n) = 1 has the solution x ≡ a⁻¹·b. Two congruences x ≡ r₁ (mod m₁) and x ≡ r₂ (mod m₂) with coprime moduli have one solution modulo m₁·m₂ (Chinese remainder theorem). Euler’s φ(n) counts the numbers from 1 to n that are coprime to n: φ(n) = n·∏(1 − 1/p).
Answer: A · It keeps calling itself until the call stack overflows
Without a base case the recursion never stops; in practice memory for stack frames runs out and the program crashes.
Answer: A · A vertex is finalised when extracted, but a later negative edge could still give it a shorter path
The greedy step relies on non-negative weights so that extracted distances are final; Bellman–Ford is used when weights may be negative.
Answer: C · 2h+1 − 1
Summing 1 + 2 + 4 + ... + 2h gives 2h+1 − 1; for example, height 2 gives 7 nodes.
Answer: B · O(n)
A heap gives no rule for which subtree contains a key, so in the worst case all nodes must be checked; only the minimum is fast to find.
Answer: H = 2520
Euler, Hamilton and trees: a connected graph has an Euler circuit (every edge once, back to the start) when every vertex has even degree, and an Euler path that is not a circuit when exactly two vertices have odd degree; the path then runs from one odd vertex to the other. A Hamilton circuit visits every vertex once; Kn has (n − 1)!/2 of them. A tree on n vertices has n − 1 edges, and a connected graph with m edges keeps a spanning tree after removing m − n + 1 edges.
Answer: edge CE
Shortest paths and spanning trees: Dijkstra’s algorithm settles one vertex per round: the unsettled vertex with the smallest tentative distance. Its distance is then final, and every neighbour v gets d(v) = min(d(v), d(u) + w(u, v)). Kruskal’s algorithm builds a minimum spanning tree by taking the edges from light to heavy and skipping any edge that would close a cycle; Prim’s algorithm grows one tree from a start vertex by always adding the lightest edge that leaves it. A spanning tree of n vertices has n − 1 edges.
Answer: B · All rows from the left table and matching rows from the right, with NULLs where there is no match
A left outer join keeps every left row; unmatched right columns are filled with NULL.
Answer: A · Some functional dependencies may no longer be checkable within a single table
A lossless BCNF decomposition always exists, but it may not preserve dependencies; 3NF can always be both lossless and dependency-preserving.
Answer: A · /24
Three octets of 255 are 24 one-bits, so 255.255.255.0 = /24.
Answer: A · Make a resolver store a false IP address for a domain
Poisoning inserts forged records into a resolver's cache. DNSSEC adds signatures so resolvers can verify records.
Answer: H = 2
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).
Answer: x = 144
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).
ExamProblems · examproblems.com/courses/computer-science-fundamentals