Announcements
Turn in Project 2c
A solution to 2c will be posted after the grace day
Project 2d must be time stamped Friday (2:00AM) for Friday turn-in
Notice there are extra credit components to it

More Digital Representation
Discrete information is represented in binary (PandA), and “continuous” information is made discrete

Return To RGB
Images are constructed from picture elements (pixels); color uses RGB light
The RGB color intensities are specified by 3 numbers in the range [0, 255], ie 1 byte each
Black = [  0,  0,  0] 0000 0000  0000 0000  0000 0000
Gray = [128,128,128] 1000 0000  1000 0000  1000 0000
White = [255,255,255] 1111 1111  1111 1111  1111 1111

Colors
Colors use different combinations of RGB
Husky Purple
Red=160
Green=76
Blue=230

Positional Notation
The RGB intensities are binary numbers
Binary numbers, like decimal numbers, use place notation
1101 = 1x1000 + 1x100 + 0x10  + 1x1
= 1x103   + 1x102  + 0x101 + 1x100
except that the base is 2 not 10
1101 = 1x8  + 1x4   + 0x2  + 1x1
= 1x23 + 1x22 + 0x21 + 1x20

Binary Numbers
Given a binary number, add up the powers of 2 corresponding to 1s
1010 0000
0x20 = 0x1 = 0
0x21 = 0x2 = 0
0x22 = 0x4 = 0
0x23 = 0x8 = 0
0x24 = 0x16 = 0
1x25 = 1x32 = 32
0x26 = 0x64 = 0
1x27 = 1x128 = 128
= 160

Binary Numbers
Given a binary number, add up the powers of 2 corresponding to 1s
0100 1100
0x20 = 0
0x21 = 0
1x22 = 4
1x23 = 8
0x24 = 0
0x25 = 0
1x26 = 64
0x27 = 0
= 76

Binary Numbers
Given a binary number, add up the powers of 2 corresponding to 1s
1110 0110
0x20 = 0
1x21 = 2
1x22 = 4
0x23 = 0
0x24 = 0
1x25 = 32
1x26 = 64
1x27 = 128
= 230

Husky Purple
Recall that Husky purple is  (160,76,230) which in binary is
1010 0000  0100 1100  1110 0110
   160     76 230
Suppose you decide it’s not “red” enough
Increase the red by 16 = 1 0000
1010 0000
   +       1 0000
1011 0000

A Redder Purple
Increase by 16 more
      00110 000 Carries
1011 0000
   +       1 0000
1100 0000
The rule: When the “place sum” equals the radix or more, subtract radix & carry

Find Binary From Decimal
The conversion algorithm
Start: x is the number to convert
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least as large as 2d?
  3t. Yes, the binary place is 1; x=x-2d
  3f. No, the binary place is 0
4. d = d - 1, go to Step 2

Find Binary From Decimal
Start: x is the number to convert
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Another Example
Convert x = 141 to binary …
1. Let d the largest numbers so 2d £ x
2. Is d ³ 0, i.e. more digits to process? No, end
3. Is x ³ 2d, i.e. is x at least large a 2d?
  3t. Y, binary place=1;x=x-2d
  3f. N, binary place=0
4. d = d - 1, go to Step 2

Digitizing
“Continuous” information like light and sound must be made “discrete”

Information Processing
Manipulating pixels is an example of “computing on a representation”
Photoshop & other graphics SW manipulate pictures by computing on representation
Audio is edited similarly to remove coughs and other odd sounds, speed up, etc.
Searching the dictionary is another example

Bits Are It
Bits represent information, but their interpretation gives bits meaning
0000 0000  1111 0001  0000 1000  0010 0000
Could be a number, color, instruction, ASCII, sound samples, IP address, …

Summary
Bits can represent any information
Discrete information is directly encoded using binary
Continuous information is made discrete
“Computing on representations” is the key to “information processing”
Bias-free Universal Medium Principle