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.
The 8-bit pattern 0100 1001 stores a signed integer in two's complement. What is its value N in decimal?
An uncompressed image is 1920 × 1080 pixels with 16 bits per pixel. How much memory M does it take, in KiB (1 KiB = 1024 bytes)?
You want to prove r → p by contrapositive. Which implication do you prove instead? Click it.
Which statement is equivalent to ¬∃x ∀y R(x, y), with the negation moved all the way inside? Click it.
A 4-to-1 multiplexer has its select inputs S₁ = A and S₀ = B, and its data inputs tied to I₀ = 0, I₁ = 1, I₂ = 1, I₃ = 1. For how many of the 8 combinations of A, B and C is the output F = 1? Find N.
A 5 kHz clock drives a mod-50 counter. Find the frequency fout of its most significant output, which completes one cycle per counting cycle.
Find Euler’s totient φ(147), the number of integers from 1 to 147 that are coprime to 147.
An RSA key uses p = 37, q = 47 and e = 19. Decrypt the ciphertext c = 831: find the message m.
In a sorted array, you look for two elements that sum to a target by moving one pointer from each end inwards. What is the time complexity?
What is the time complexity of building a binary heap from n unsorted elements with the bottom-up method?
How much memory does an adjacency list use for a graph with V vertices and E edges?
Which data structure supports an LRU (least recently used) cache with O(1) get and put?
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.
How many walks of length 2 go from C to D? A walk may repeat vertices and edges. Call the number N.
A table has rows where col is NULL. Which rows does WHERE col = NULL return?
For an equality join between two large tables with no useful indexes, which join algorithm does an optimiser often choose?
What is a cyclic redundancy check (CRC) used for in Ethernet frames?
By Shannon's theorem, what is the capacity of a 1 MHz channel with a signal-to-noise ratio of 255?
The network 172.22.0.0/16 is divided into equal subnets with prefix /20. How many subnets N are there?
A host has the address 10.20.202.184/25. What is the last number (fourth octet) x of its subnet's broadcast address?
Answer: N = 73
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.
The other bits keep their normal positive values.
Answer: M = 4050 KiB
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: ¬p → ¬r
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: ∀x ∃y ¬R(x, y)
Quantifiers and arguments: ¬∀x P(x) ≡ ∃x ¬P(x) and ¬∃x P(x) ≡ ∀x ¬P(x). Move a negation inwards, swap every quantifier it passes, and negate the inner formula with the propositional laws, such as ¬(a → b) ≡ a ∧ ¬b. An argument is valid when the conclusion is 1 in every row in which all premises are 1. A single row with true premises and a false conclusion is a counterexample and shows the argument is invalid.
The other options either keep a quantifier unchanged, change the order of the quantifiers, or negate the inner formula wrongly.
Answer: N = 6
Multiplexer: a 2ⁿ-to-1 multiplexer passes one of its data inputs to the output; the select lines, read as a binary number, pick which one. For a 4-to-1 MUX with selects S₁S₀ = AB, F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Tying the data inputs to 0, 1, C or C′ makes the MUX produce any function of A, B and C, which is a common way to build logic with one chip.
Answer: fout = 0.1 kHz
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.
Answer: φ(147) = 84
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: m = 723
Modular powers and RSA: compute aᵏ mod n by repeated squaring: write k in binary, square, reduce after every step and multiply the powers whose bit is 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) for a prime p not dividing a, so the exponent can be reduced modulo p − 1. RSA: choose primes p and q, n = p·q and φ(n) = (p − 1)(q − 1); the public exponent e is coprime to φ(n), and the private exponent is d = e⁻¹ mod φ(n). Encrypt with c = mᵉ mod n and decrypt with m = cᵈ mod n.
Answer: C · O(n)
If the sum is too small the left pointer moves right, if too large the right pointer moves left, so there are at most n steps.
Answer: B · O(n)
Summing sift-down costs over the levels gives a convergent series, so heapify runs in linear time.
Answer: D · O(V + E)
Each vertex has a list and each edge appears once (directed) or twice (undirected), giving O(V + E).
Answer: D · A hash map combined with a doubly linked list
The hash map finds nodes in O(1) and the doubly linked list moves accessed items to the front and evicts from the back in O(1).
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: N = 2
Degrees: the degree of a vertex is the number of edges that meet it. Every edge has two ends, so the degrees add up to twice the number of edges: Σ deg(v) = 2|E| (the handshake lemma). The number of vertices with odd degree is therefore even. Kn has n(n − 1)/2 edges, a k-regular graph on n vertices has nk/2, and a tree on n vertices has n − 1 edges.
Answer: A · No rows, because the comparison is unknown
Any comparison with NULL using = gives UNKNOWN, and WHERE keeps only TRUE rows; use col IS NULL instead.
Answer: D · Hash join
A hash join builds a hash table on one input and probes it with the other, which works well for large equi-joins without indexes.
Answer: C · Detecting transmission errors
The sender computes a CRC over the frame; the receiver recomputes it and discards the frame if they differ. CRC detects errors but does not correct them.
Answer: B · 8 Mbit/s
C = 10⁶ × log₂(256) = 10⁶ × 8 = 8 Mbit/s. This is the upper limit for error-free data rate on a noisy channel.
Answer: 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).
Each /20 subnet has 212 − 2 = 4094 usable hosts.
Answer: x = 255
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