Non-decimal based number systems, storing numbers on the
computer and logic
Notes for the required material
There are three main parts to this section of notes: non-decimal based number
systems, the computer storage and manipulation of negative and real numbers, and
logic.
The first part of this section includes a brief introduction of different
number numbers starting with the familiar decimal base and continuing on to
binary, octal and hexadecimal. In addition students should learn how to
convert to and from decimal and a number system of any base. Finally
students should learn basic mathematical operations in binary.
The second part of this section teaches students how negative and real
numbers are stored and manipulated on the computer in the form of complements
(one's and two's) and floating point representations. This part of the
notes also deals with conversions to and from unsigned binary and the signed
representations, issues such as the limits in different representations (ranges
in the values that can be represented) and the problems of overflow.
Finally this part of this section of notes should provide students with a strong
idea of how real values are represented on the computer and some of the limits
of this form of representation (accuracy).
The final part of this section of notes covers basic logical
operations: AND, OR, NOT, XOR, NAND and NOR.
- You can find a text-only versions of the notes (no text-formatting or
graphics) under the Unix directory: /home/231/notes/numbers_logic
- Non-decimal based number systems (Leestma & Nyhoff Chapter Chapter 1.2): [PowerPoint] [pdf]
- Numerical representations (Leestma & Nyhoff: floating point (p.
66)): [PowerPoint]
[pdf]
- Logic (Leestma & Nyhoff Chapter Chapter 4.2): [PowerPoint] [pdf]
Optional teaching material
Given that there is time in lecture, the instructor can also spend some time
on the following topic:
- Non-decimal based math: This includes doing basic mathematical operations
(addition, subtraction and multiplication) on other non-decimal based number
systems besides binary (octal and hexadecimal).
Background / Sources of additional information
- Pascal Programming and Problem Solving by Leestma S. and Nyhoff L. (MacMillan)
Section 1.2 provides a brief overview of many of the topics to be covered in
this section: non-decimal based number systems, complements and floating
point representations.
- Digital Design by Mano M. M. 2nd edition (Prentice Hall). This book
provides a thorough coverage of this section's topics including: non-decimal
based number systems, non-decimal math, complements and the different logic
operations. It is done from the point of view of logic circuits and
hardware.
- Computer Science Illuminated by Dale N. and Lewis J (Jones and
Bartlett). This book discusses many of the topics covered in this
section: non-decimal based number systems, non-decimal based math (binary
addition and subtraction) and converting between different number
systems.
- Introduction to the PDP-11 and its Assembly Language by Frank T.S.
(Prentice Hall). This book covers some of the topics covered in Mano
(above) such as binary and logic but the instructor may find the alternate
ways that the author describes complements (diagrams) useful.
- The course notes for CPSC 203 when I discussed the topics of number
systems and logic: http://pages.cpsc.ucalgary.ca/~tamj/2002/203/notes/numbers.html
Teaching Tips
This is a section where the instructor should rely less on prepared
slides. The online notes can be useful for described the basic concepts
(e.g., binary, octal and hex) but most students will pick up the material when
many examples are covered. Therefore while a few numerical examples are
provided online, lectures should supplement this material with addition ones.