#### CS 150 - Binary numbers

Computers are built using electronic circuits. How can we store
and manipulate information electronically?
The simplest way to represent numbers using circuits is to only
distinguish two values: 1 and 0, or "on" and "off".

There are many physical ways of representing these two values,
including:

- voltage (e.g., 1 == 5V, 0 == 0V),
- electric charge (e.g., in computer memory),
- magnetic orientation (e.g., on hard disks),
- or physical shape (e.g., tiny grooves in CDs).

We are used to represent numbers in the decimal system, where we have
10 number symbols: the digits 0..9.

If we only have two digits 0, 1,
we have to use the binary system. Each digit is called on **bit**;
and 8 bits form one **byte**.

An explanation of the binary sytem as well as binary arithmetic can be found here.

An additional short explanation of using "Two's Complement" to represent negative
numbers can be found here.

Personally, I think a binary odometer provides the best motivation for
representating negative numbers using "two's complement", but not very
many people have the luxury of owning one. Here is one
explanation that uses the binary odometer anlogy (search for
"odometer" on this page).

For the exam, I'm only expecting you to be able to convert positive numbers between
decimal and binary, and to do some simple binary arithmetic (addition).