Discrete information is represented in binary (PandA), and “continuous” information is made discrete |
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 use different combinations of RGB | |||
Husky Purple | |||
Red=160 | |||
Green=76 | |||
Blue=230 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
“Continuous” information like light and sound must be made “discrete” |
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 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, … |
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 |