The exam review is mostly a homework review session, but with an emphasis of double-checking answers for correctness.
It’s always a good idea to know binary numbers and ASCII, but you can also use the binary numbers reference and Unicode ASCII table in the exam.
- Data representation — signed and unsigned
- Bases for numbers — binary, decimal and hexadecimal
- Addition and bit-wise operators of Java and C
- Binary logic operations — NOT, AND, OR, NAND, NOR
- Truth table representation
- Logic gate representation
- Transistor implementation
- Combinational logic
- Truth tables
- Boolean expressions
- Acyclic networks of gates
- Common combinational elements — multiplexers and ROMs
The most significant topics to study are anything covered in the first three homeworks or the first three labs.
Exams to review
Review the questions that are relevant to the exam topics. The most recent exams are the most relevant.
A few things to get straight
- X Y Z ≠ X Y Z
!(X && Y && Z) != !X && !Y && !X
- de Morgan’s law
- It’s the same boolean operators you used in Java.
- It’s the same bitwise operators you never used in Java.
- Following the principles may result in a longer answer, but the answer is more likely to be correect.
- Check your answers.
- Multiplexers and ROMs are important.
- Learn the powers of 2 up to 29
- 2n+m = 2n 2m
- You can’t look at a string of bits and know if it is signed or twos-complement. Someone has to tell you.
- Overflow occurs when you perform an operation on n-bit numbers and the result can’t be represented in n bits.
- Overflow never occurs when two n-bit twos-complement numbers of different signs are added
~n + 1in Java.
- If in doubt, explain your reasoning.