Updated: 2011-03-26 05:15 EDT

Calculators are not permitted during the first midterm test. You will benefit from knowing the powers of two from 2^(-4) to 2^16 and the decimal and binary values of the hexadecimal digits from zero to fifteen. Of course you can work them out; however, having at least some of them memorized will make things go faster for you on the test. (Remember that hexadecimal “A” = decimal 10 = binary 1010.)

- 010_arithmetic_terms.txt - Basic Arithmetic Operations Terminology
- 020_operation_output_size.txt - Size needed for output of ADD and MULTIPLY
- 030_binary_math.txt - Binary Integer Mathematics, unsigned, two’s complement, etc.
- 060_different_binary_integers.html - Representation for 4-bit Signed Integers in Different Systems
- FunnyMath0.java - a program that produces unexpected incorrect results

These documents have restricted distribution and cannot be put on the Course Home Page.

- 01.ppt - Introduction (vonNeumann, prefixes, reciprocal)
- 02.ppt - Data Representation
- omit “Booth’s algorithm” slides 50-52
- ignore slides 63-70 (the “simplified” model)
- slide 72 is wrong: IEEE 754 +0.0 is equal to -0.0
- ignore slides 75-76 (floating-point multiplication)
- use my web pages and assignments instead for floating-point info

- you do not need to know how to do math with sign-magnitude numbers
- you do need to know how to convert them to/from decimal

- you do not need to know how to do math with one’s complement numbers
- you do need to know how to convert them to/from decimal

- you need to know how to do addition with two’s complement numbers
- you also need to know how to convert them to/from decimal

- you do not have to multiply or divide or subtract any binary numbers
- omit most of the math in 2.8 “Error Detection and Correction”
- omit slides 94-100
- omit slides 103-115

- http://en.wikipedia.org/wiki/Binary_prefix
- http://en.wikipedia.org/wiki/Category:SI_prefixes
- http://en.wikipedia.org/wiki/SI_prefix
- http://en.wikipedia.org/wiki/Exponential_notation
- http://en.wikipedia.org/wiki/Radix
- http://en.wikipedia.org/wiki/Category:Computer_arithmetic
- http://en.wikipedia.org/wiki/Computer_numbering_formats
- http://en.wikipedia.org/wiki/Binary_numeral_system
- http://en.wikipedia.org/wiki/Octal
- http://en.wikipedia.org/wiki/Hexadecimal
- http://www.cs.nmsu.edu/~pfeiffer/classes/273/notes/binary.html
http://www.exploringbinary.com/the-answer-is-one-unless-you-use-floating-point/

“odometer math”, showing the number ring: http://www.cs.nmsu.edu/~pfeiffer/classes/273/notes/neg.html

Notes on Binary Numbers, Arithmetic, and Radix Conversions: http://www.cs.nmsu.edu/~pfeiffer/classes/273/notes/binary.html

Converting hex to decimal using bit flipping and adding one: http://www.madsci.org/posts/archives/2000-02/950277263.Cs.r.html

Base Converter: Convert numbers in any base up to 32: http://www.cut-the-knot.org/binary.shtml

- Hex (only) to decimal and binary converter, and vice-versa:
A 1965 song about doing math in Base 8 (I was 11 at the time): http://www.youtube.com/watch?v=DfCJgC2zezw

- Your in-class notes go here.

“a data conversion from a 64-bit floating point to 16-bit signed integer value caused a hardware exception (more specifically, an arithmetic overflow, as the floating point number had a value too large to be represented by a 16-bit signed integer)”