CPSC 121: Models of Computation Module 3: Representing Values in a - - PowerPoint PPT Presentation

cpsc 121 models of computation
SMART_READER_LITE
LIVE PREVIEW

CPSC 121: Models of Computation Module 3: Representing Values in a - - PowerPoint PPT Presentation

CPSC 121: Models of Computation Module 3: Representing Values in a Computer Module 3: Coming up... Pre-class quiz #4 is due Wednesday September 30 th at 19:00. Assigned reading for the quiz: Epp, 4 th edition: 2.3 Epp, 3 rd edition: 1.3 Rosen, 6


slide-1
SLIDE 1

CPSC 121: Models of Computation

Module 3: Representing Values in a Computer

slide-2
SLIDE 2

CPSC 121 – 2020W T1 2

Module 3: Coming up...

Pre-class quiz #4 is due Wednesday September 30th at 19:00.

Assigned reading for the quiz:

Epp, 4th edition: 2.3 Epp, 3rd edition: 1.3 Rosen, 6th edition: 1.5 up to the bottom of page 69. Rosen, 7th edition: 1.6 up to the bottom of page 75.

slide-3
SLIDE 3

CPSC 121 – 2020W T1 3

Module 3: Coming up...

Pre-class quiz #5 is tentatively due Monday October 5th at 19:00.

Assigned reading for the quiz:

Epp, 4th edition: 3.1, 3.3 Epp, 3rd edition: 2.1, 2.3 Rosen, 6th edition: 1.3, 1.4 Rosen, 7th edition: 1.4, 1.5

slide-4
SLIDE 4

CPSC 121 – 2020W T1 4

Module 3: Representing Values

By the start of this class you should be able to

Convert unsigned integers from decimal to binary and back. Take two's complement of a binary integer. Convert signed integers from decimal to binary and back. Convert integers from binary to hexadecimal and back. Add two binary integers.

slide-5
SLIDE 5

CPSC 121 – 2020W T1 5

Module 3: Representing Values

Quiz 3 feedback:

Well done overall. Only one question had an average below 90%:

What is the decimal value of the signed 6-bit binary number 101110?

Answer:

slide-6
SLIDE 6

CPSC 121 – 2020W T1 6

Module 3: Representing Values

Quiz 3 feedback:

Can one be 1/3rd Scottish? We will get back to this question later. I don't have any Scottish ancestors. So we will ask if one can be 1/3 Belgian instead (which would you prefer: a bagpipe and a kilt, or belgian chocolate?)

(c) 1979, Dargaud ed. et Albert Uderzo (c) ITV/Rex Features

slide-7
SLIDE 7

CPSC 121 – 2020W T1 7

Module 3: Representing Values

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

CPSC 121: the BIG questions:

We will make progress on two of them:

How does the computer (e.g. Dr. Racket) decide if the characters of your program represent a name, a number, or something else? How does it figure out if you have mismatched " " or ( )? How can we build a computer that is able to execute a user-defined program?

slide-8
SLIDE 8

CPSC 121 – 2020W T1 8

Module 3: Representing Values

By the end of this module, you should be able to:

Critique the choice of a digital representation scheme, including describing its strengths, weaknesses, and flaws (such as imprecise representation or overflow), for a given type of data and purpose, such as

fixed-width binary numbers using a two’s complement scheme for signed integer arithmetic in computers hexadecimal for human inspection of raw binary data.

slide-9
SLIDE 9

CPSC 121 – 2020W T1 9

Module 3: Representing Values

Motivating examples:

Understand and avoid cases like those at:

http://www.ima.umn.edu/~arnold/455.f96/disasters.html Death of 28 people caused by failure of an anti-missile system, caused in turn by the misuse of one representation for fractions. Explosion of a $500 million space vehicle caused by failure of the guidance system, caused in turn by misuse of a 16 bit signed binary value.

We will discuss both of the representations that caused these catastrophes.

slide-10
SLIDE 10

CPSC 121 – 2020W T1 10

Module 3: Representing Values

Summary

Unsigned and signed binary integers. Modular arithmetic. Characters. Real numbers. Hexadecimal.

slide-11
SLIDE 11

CPSC 121 – 2020W T1 11

Module 3.1: Unsigned and signed binary integers

Notice the similarities:

Number a b c d F F F F 1 F F F T 2 F F T F 3 F F T T 4 F T F F 5 F T F T 6 F T T F 7 F T T T 8 T F F F 9 T F F T Number b3 b2 b1 b0 1 1 2 1 3 1 1 4 1 5 1 1 6 1 1 7 1 1 1 8 1 9 1 1

slide-12
SLIDE 12

CPSC 121 – 2020W T1 12

Module 3.1: Unsigned and signed binary integers

Definitions: An unsigned integer is one we have decided will

  • nly represent integer values that are 0 or larger.

A signed integer is one we have decided can represent either a positive value or a negative one. A sequence of bits is intrinsically neither signed nor unsigned (nor anything else). it's us who give it its meaning.

slide-13
SLIDE 13

CPSC 121 – 2020W T1 13

Module 3.1: Unsigned and signed binary integers

Unsigned integers review: the binary value represents the integer

  • r written differently

We normally use base 10 instead of 2, but we could use 24 [clocks!] or 13 (maybe…) or any other value.

∑i=0

n−1 bi2 i

bn−12

n−1+bn−22 n−2+...+b22 2+b12 1+b0

bn−1bn−2...b2b1b0

slide-14
SLIDE 14

CPSC 121 – 2020W T1 14

Module 3.1: Unsigned and signed binary integers

“Magic” formula to negate a signed integer: Replace every 0 bit by a 1, and every 1 bit by a 0. Add 1 to the result. This is called two's complement. Why does it make sense to negate a signed binary integer this way?

slide-15
SLIDE 15

CPSC 121 – 2020W T1 15

Module 3.1: Unsigned and signed binary integers

For 3-bit integers, what is 111 + 1? Hint: think of a 24

hour clock. a) 110 b) 111 c) 1000 d) 000 e) Error: we can not add these two values.

slide-16
SLIDE 16

CPSC 121 – 2020W T1 17

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000

slide-17
SLIDE 17

CPSC 121 – 2020W T1 18

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1

slide-18
SLIDE 18

CPSC 121 – 2020W T1 19

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2

slide-19
SLIDE 19

CPSC 121 – 2020W T1 20

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3

slide-20
SLIDE 20

CPSC 121 – 2020W T1 21

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4

slide-21
SLIDE 21

CPSC 121 – 2020W T1 22

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4 101 5

slide-22
SLIDE 22

CPSC 121 – 2020W T1 23

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4 101 5 110 6

slide-23
SLIDE 23

CPSC 121 – 2020W T1 24

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7

slide-24
SLIDE 24

CPSC 121 – 2020W T1 25

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8

slide-25
SLIDE 25

CPSC 121 – 2020W T1 26

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9

slide-26
SLIDE 26

CPSC 121 – 2020W T1 27

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10

slide-27
SLIDE 27

CPSC 121 – 2020W T1 28

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11

slide-28
SLIDE 28

CPSC 121 – 2020W T1 29

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11

slide-29
SLIDE 29

CPSC 121 – 2020W T1 30

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1
slide-30
SLIDE 30

CPSC 121 – 2020W T1 31

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1

110

  • 2
slide-31
SLIDE 31

CPSC 121 – 2020W T1 32

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1

110

  • 2

101

  • 3
slide-32
SLIDE 32

CPSC 121 – 2020W T1 33

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1

110

  • 2

101

  • 3

100

  • 4
slide-33
SLIDE 33

CPSC 121 – 2020W T1 34

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1

110

  • 2

101

  • 3

100

  • 4

011

  • 5
slide-34
SLIDE 34

CPSC 121 – 2020W T1 35

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1

110

  • 2

101

  • 3

100

  • 4

011

  • 5

010

  • 6
slide-35
SLIDE 35

CPSC 121 – 2020W T1 36

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1

110

  • 2

101

  • 3

100

  • 4

011

  • 5

010

  • 6

001

  • 7
slide-36
SLIDE 36

CPSC 121 – 2020W T1 37

Module 3.1: Unsigned and signed binary integers

Using 3 bits to represent integers

let us write the binary representations for zero to eleven. now let’s add the binary representation for zero to minus eight.

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 001 9 010 10 011 11 111

  • 1

110

  • 2

101

  • 3

100

  • 4

011

  • 5

010

  • 6

001

  • 7

000

  • 8
slide-37
SLIDE 37

CPSC 121 – 2020W T1 38

Module 3.1: Unsigned and signed binary integers

What do you notice? Taking two’s complement is the same as computing 2n – x because

2n−x=(2n−1−x)+1

Flip bits from 0 to 1 and from 1 to 0 Add 1

slide-38
SLIDE 38

CPSC 121 – 2020W T1 39

Module 3.1: Unsigned and signed binary integers

What does a sequence of bit actually mean?

If we know we won't need negative values: unsigned If we need negative values: signed

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 111

  • 1

110

  • 2

101

  • 3

100

  • 4

011

  • 5

010

  • 6

001

  • 7

000

  • 8

000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 000 8 111

  • 1

110

  • 2

101

  • 3

100

  • 4

011

  • 5

010

  • 6

001

  • 7

000

  • 8
slide-39
SLIDE 39

CPSC 121 – 2020W T1 40

Module 3.1: Unsigned and signed binary integers

One way to convert a positive decimal integer x to binary?

Divide x by 2 and write down the remainder

The remainder is 0 if x is even, and 1 if x is odd.

Repeat this until the quotient is 0. Write down the remainders from right (first one) to left (last one).

Example: convert 729 to binary. What do we do if x is negative?

slide-40
SLIDE 40

CPSC 121 – 2020W T1 41

Module 3.1: Unsigned and signed binary integers

Summary questions:

With n bits, how many distinct values can we represent? What are the smallest and largest n-bit unsigned binary integers? What are the smallest and largest n-bit signed binary integers?

slide-41
SLIDE 41

CPSC 121 – 2020W T1 42

Module 3.1: Unsigned and signed binary integers

More summary questions:

Why are there more negative n-bit signed integers than positive ones? How do we tell quickly if a signed binary integer is negative, positive, or zero? There is one signed n-bit binary integer that we should not try to negate.

Which one? What do we get if we try negating it?

slide-42
SLIDE 42

CPSC 121 – 2020W T1 43

Module 3: Representing Values

Summary

Unsigned and signed binary integers. Modular arithmetic. Characters. Real numbers. Hexadecimal.

slide-43
SLIDE 43

CPSC 121 – 2020W T1 44

Module 3.2: Modular arithmetic

First open-ended question from quiz #3:

Imagine the time is currently 15:00 (3:00PM, that is). How can you quickly answer the following two questions without using a calculator:

What time was it 8 * 21 hours ago? What time will it be 13 * 23 hours from now?

slide-44
SLIDE 44

CPSC 121 – 2020W T1 45

Module 3.2: Modular arithmetic

Clock arithmetic and signed or unsigned binary integers with a fixed number of bits are both examples of modular arithmetic: Modular arithmetic:

Given an integer m, we partition integers based on their remainder after division by m. So a 24 hour clock uses m = 24. How many classes are there if m = 5 ?

slide-45
SLIDE 45

CPSC 121 – 2020W T1 46

Module 3.2: Modular arithmetic

Modular arithmetic (continued):

We use the smallest non-negative element of the class as its representative. With m = 5:

[0] = { ..., -15, -10, -5, 0, 5, 10, 15, ... } [1] = { ..., -14, -9 , -4, 1, 6, 11, 16, ... } etc.

We write x mod m to denote the representative for the class that x belongs to.

x mod m is the remainder we get after dividing x by m.

slide-46
SLIDE 46

CPSC 121 – 2020W T1 47

Module 3.2: Modular arithmetic

Example:

27 mod 4 is 3 (27 = 6 * 4 + 3).

What is 57 mod 8?

a) 1 b) 3 c) 5 d) 7

slide-47
SLIDE 47

CPSC 121 – 2020W T1 49

Module 3.2: Modular arithmetic

If x and y belong to the same class modulo m (have the same remainder) then we write x ≡ y mod m. Suppose that x ≡ 34 mod 6. Which are possible values for x?

a) 4, 17 and 28. b) 12, 28 and 38. c) 36, 72 and 216. d) 10, 16 and 52.

slide-48
SLIDE 48

CPSC 121 – 2020W T1 51

Module 3.2: Modular arithmetic

Fundamental Theorem of Modular Arithmetic:

Suppose you want to compute cx + d mod m if a ≡ c mod m and b ≡ d mod m then ax + b ≡ cx + d mod m

This theorem means that it doesn’t matter if you

(a) do a sequence of operations, and then take the remainder mod m at the end. (b) or take the remainder mod m every time you perform an operation in the sequence.

Sequences of operations on integers do (b).

slide-49
SLIDE 49

CPSC 121 – 2020W T1 52

Module 3: Representing Values

Summary

Unsigned and signed binary integers. Modular arithmetic. Characters. Real numbers. Hexadecimal.

slide-50
SLIDE 50

CPSC 121 – 2020W T1 53

Module 3.3: Characters

How do computers represent characters?

It uses sequences of bits (like for everything else). Integers have a “natural” representation of this kind. There is no natural representation for characters. So people created arbitrary mappings.

slide-51
SLIDE 51

CPSC 121 – 2020W T1 54

Module 3.3: Characters

How do computers represent characters (continued)?

Examples:

EBCDIC: earliest, now used only for IBM mainframes. ASCII: American Standard Code for Information Interchange

7-bit per character, sufficient for upper/lowercase, digits, punctuation and a few special characters.

UNICODE:

16 or 32 bits, extended ASCII for languages other than English

slide-52
SLIDE 52

CPSC 121 – 2020W T1 55

Module 3.3: Characters

What does the 8-bit binary value 11111000 represent?

a) -8 b) The character c) 248 d) More than one of the above e) None of the above. ø

slide-53
SLIDE 53

CPSC 121 – 2020W T1 57

Module 3: Representing Values

Summary

Unsigned and signed binary integers. Modular arithmetic. Characters. Real numbers. Hexadecimal.

slide-54
SLIDE 54

CPSC 121 – 2020W T1 58

Module 3.4: Real numbers

Can someone be 1/3rd Belgian? Here is a fun answer from this term:

No, because you have to have two parents that have a fraction of an ethnicity and the denominator has to be a number that is a power of 2. You would need three parents for that to be possible. However, there is a medical procedure where you replace the nucleus of an egg with bad mitochondria into a nucleus-less egg with working mitochondria, which can then be fertilized with sperm. This procedure involves three people and if one of them is Scottish, then you can technically be one-third Scottish.

slide-55
SLIDE 55

CPSC 121 – 2020W T1 59

Module 3.4: Real numbers

Another answer from this term :

It is possible for someone to be 50% Scottish by being the

  • ffspring of 1 Scottish person and 1 non-Scottish person. It is also

possible for someone to be 25% Scottish by being the offspring of a parent who is 50% Scottish and another non-Scottish parent. Given that a person can be 50% or 25% Scottish, and that 33.33% is between the two, then it is possible that an offspring many generations down the line could be 33.33% Scottish by following this logic when selecting a partner:

If self is over 33.33% Scottish : procreate with a person who is 25% Scottish If self is under 33.33% : procreate with a person a who is 50% Scottish

Repeat the process until an offspring is born who is 33.33% Scottish (probably over 10 generations down).

slide-56
SLIDE 56

CPSC 121 – 2020W T1 60

Module 3.4: Real numbers

An interesting older answer:

Let's focus on Mom, suppose we are 1/3 Scottish, then your mom should be 2/3 Scottish and therefore your father is not

  • Scottish. Given mom is 2/3 Scottish, then your grandparent

should either be 1) both 2/3 Scottish. But this will lead to infinite generations

  • f 2/3 Scottish, which is impossible

2) Grandma is 1/6 and grandfather is a pure Scottish.Then grandma's parent should now be 1/3 and not Scottish, then grandma's grand parent should now be 2/3 and not Scottish. Notice, this runs into a loop which is like you and your mom. Therefore, this is also an infinite loop and drives to the conclusion that we can't be one-third Scottish.

slide-57
SLIDE 57

CPSC 121 – 2020W T1 61

Module 3.4: Real numbers

Here is an even older answer:

While debated, scotland is traditionally said to be founded in 843AD, aproximately 45 generations

  • ago. Your mix of scottish, will therefore be n/245;

using 245/3 (rounded to the nearest integer) as the numerator gives us 11728124029611/245 which give us approximately 0.333333333333342807236476801 which is no more than 1/1013 th away from 1/3.

slide-58
SLIDE 58

CPSC 121 – 2020W T1 62

Module 3.4: Real numbers

Another old, interesting answer

In a mathematical sense, you can create 1/3 using infinite sums of inverse powers of 2

1/2 isn't very close 1/4 isn't either 3/8 is getting there... 5/16 is yet closer, so is 11/32, 21/64, 43/128 etc 85/256 is 0.33203125, which is much closer, but which also implies eight generations of very careful romance amongst your elders. 5461/16384 is 0.33331298828125, which is still getting there, but this needs fourteen generations and a heck of a lot of Scots and non-Scots.

slide-59
SLIDE 59

CPSC 121 – 2020W T1 63

Module 3.4: Real numbers

Can someone be 1/3rd Belgian?

Suppose we start with people who are either 0% or 100% Belgian. After 1 generation, how Belgian can a child be? After 2 generations, how Belgian can a grand-child be? What about 3 generations? What about n generations?

(c) ITV/Rex Features (c) 1979, Dargaud ed. et Albert Uderzo

slide-60
SLIDE 60

CPSC 121 – 2020W T1 64

Module 3.4: Real numbers

Numbers with fractional components in binary:

Example: 5/32 = 0.00101

Which of the following values have a finite binary expansion?

a) 1/3 b) 1/4 c) 1/5 d) More than one of the above. e) None of the above.

slide-61
SLIDE 61

CPSC 121 – 2020W T1 66

Module 3.4: Real numbers

Numbers with fractional components (cont):

In decimal:

1/3 = 0.3333333333333333333333333333333333... 1/4 = 0.25 1/5 = 0.2

In binary:

1/3 = 1/4 = 1/5 =

Which fractions have a finite binary expansion?

slide-62
SLIDE 62

CPSC 121 – 2020W T1 67

Module 3.4: Real numbers

How does Java represent values of the form xxx.yyyy?

It uses scientific notation

1724 = 0.1724 x 104

But in binary, instead of decimal.

1724 = 1.1010111100 x 21010

Only the mantissa and exponent need to be stored. The mantissa has a fixed number of bits (24 for float, 53 for double).

mantissa exponent

slide-63
SLIDE 63

CPSC 121 – 2020W T1 68

Module 3.4: Real numbers

Scheme/Racket uses this for inexact numbers. Consequences:

Computations involving floating point numbers are imprecise.

The computer does not store 1/3, but a number that's very close to 1/3. The more computations we perform, the further away from the “real” value we are.

Example: predict the output of:

(* (sqrt 2) (sqrt 2))

slide-64
SLIDE 64

CPSC 121 – 2020W T1 69

Module 3.4: Real numbers

Consider the following: What value will (addfractions 0) return?

a) 10 d) More than 11 b) 11 e) No value will be printed c) Less than 10

(define (addfractions x) (if (= x 1.0) (+ 1 (addfractions (+ x #i0.1)))))

slide-65
SLIDE 65

CPSC 121 – 2020W T1 71

Module 3: Representing Values

Summary

Unsigned and signed binary integers. Modular arithmetic. Characters. Real numbers. Hexadecimal.

slide-66
SLIDE 66

CPSC 121 – 2020W T1 72

Module 3.5: Hexadecimal

As you learned in CPSC 110, a program can be

Interpreted: another program is reading your code and performing the operations indicated.

Example: Scheme/Racket

Compiled: the program is translated into machine

  • language. Then the machine language version is

executed directly by the computer.

slide-67
SLIDE 67

CPSC 121 – 2020W T1 73

Module 3.5: Hexadecimal

What does a machine language instruction look like?

It is a sequence of bits! Y86 example: adding two values.

In human-readable form: addl %ebx, %ecx. In binary: 0110000000110001

Arithmetic operation Addition %ebx %ecx

slide-68
SLIDE 68

CPSC 121 – 2020W T1 74

Module 3.5: Hexadecimal

Long sequences of bits are painful to read and write, and it's easy to make mistakes. Should we write this in decimal instead?

Decimal version: 24625. Problem:

Solution: use hexadecimal 6031

Arithmetic operation Addition %ebx %ecx

We can not tell what operation this is.

slide-69
SLIDE 69

CPSC 121 – 2020W T1 75

Module 3.5: Hexadecimal

Another example:

Suppose we make the text in a web page use color 15728778. What color is this?

Red leaning towards purple.

Written in hexadecimal: F00084

Red Green Blue