Слайд 2
Topics 2016-17
Number Representation
Logarithms
Logic
Set Theory
Relations & Functions
Graph Theory
Слайд 3
Assessment
In Class Test (Partway through term, 31/10)
(20%
of marks)
‘Homework’ (3 parts for 10% of marks)
Two hour
unseen examination in May/June 2017
(70% of marks)
Слайд 4
Lecture / tutorial plans
Lecture every week 18:00 for
18:10 start. 1 – 2½ hours (with break)
Tutorials (problems
and answers) one week in two (~1½ hours)
Compulsory In-Class Test, October 31st
Lecture Notes etc. will appear on Moodle
Class split in two rooms
Слайд 6
Course Textbook
Schaum’s Outlines Series
Essential Computer Mathematics
Author: Seymour Lipschutz
ISBN
0-07-037990-4
Слайд 7
Maths Support
http://www.bbk.ac.uk/business/current-students/learning-co-ordinators/eva-szatmari
See separate powerpoint file.
Слайд 8
Lecture 1
Rule 1
Communication is not easy,
How do
you tell a computer what to do?
Слайд 9
Welcome
Rule 1
We want to get the computer to
do NEW complicated things
We start by learning the basics
of its language, Numerical Representation, Logic …
Слайд 10
Memory for numbers
We don’t know how our memory
stores numbers
We know how a computer does (we
designed it)
Full glass is 1, empty is 0
1
0
Слайд 11
Great, we know how to store 1 and
0 in the computer memory
How do we store
0,1,2,3?
We use two cups!
1
0
0
0
0
1
1
1
0
1
2
3
The numbers in the way we are used to see them. Base 10 (decimal).
The numbers in the way the computer sees them. Base 2 (binary).
Слайд 12
If we want extra numbers we add an
extra cup!
Each cup we add doubles the number of
values we can store
1
0
0
0
0
1
1
1
0
1
2
3
1
0
0
0
0
1
1
1
4
5
6
7
0
0
0
0
1
1
1
1
Слайд 13
We don’t need the cups now.
Let’s understand how
this works
We shall look for repetitive patterns and see
what they mean
1
0
0
0
0
1
1
1
0
1
2
3
Same
1
0
0
0
0
2
1
2
The repetitive pattern here tells us whether the number is odd or even (add 0 or 1)
Слайд 14
1
0
0
0
0
1
1
1
0
1
2
3
0
0
0
0
Same
1
0
0
0
0
2
1
2
1
0
0
0
0
1
1
1
4
5
6
7
1
1
1
1
1
0
0
0
0
2
1
2
0
0
0
0
4
4
4
4
The repetitive pattern here tells us whether to
add 0 or 2
Слайд 15
Convert from Binary to Decimal
When we translate from
the binary base (base 2) the decimal base (base
10 – ten fingers)
The first binary digit tells us whether to add 1
The second binary digit tells us whether to add 2
The third binary digit tells us whether to add 4
The fourth binary digit tells us whether to add ??
Слайд 16
Convert from Binary to Decimal
When we translate from
the binary base to the decimal base
The first binary
digit tells us whether to add 1
Every digit afterwards tells us whether to add exactly two times as much a the previous digit
Lets try this out
1 0 1 1 1 0 1 =
1*64+0*32+1*16+1*8+1*4+0*2+1*1 = 83
Слайд 17
The binary system (computer)
The way the computer stores
numbers
Base 2
Digits 0 and 1
Example:
110110112
↑
↑
msd lsd
(most significant digit) (least significant digit)
Слайд 18
The decimal system (ours)
Probably because we started counting
with our fingers
Base 10
Digits 0,1,2,3,4,5,6,7,8,9
Example:
7641321910
↑
↑
msd lsd
Слайд 19
Significant Figures
Significant Figures:
Important in science for precision of
measurements.
All non-zero digits are significant
Leading zeros are not significant
e.g.
π = 3.14 (to 3 s.f.) = 3.142 (to 4 s.f.) = 3.1416 (to 5 s.f.)
Слайд 21
Convert from Binary to Decimal
Lets make this more
mathematical,
We now use powers of 2 to represent
1,2,4,8,…
Note that the power is the index of the digit, when the indices start from 0 (first index is 0)
(digit with index 6 corresponds to 26)
1 0 1 1 1 0 1 =
1*64+0*32+1*16+1*8+1*4+0*2+1*1 =
1*26+0*25+1*24+1*23+1*22+0*21+1*20 =
9310
Слайд 22
Convert from Binary to Decimal
Example of how to
use what we learned to convert from binary to
decimal
11011012 = 1*26+1*25+0*24+1*23+1*22+0*21+1*20
= 64+32+0+8+4+0+1 = 10910
Слайд 23
Idea for Converting Decimal to Binary
Digit at
position 0 is easy.
It is 1 if the number
is even and 0 otherwise
Why?
In a binary number only the least significant digit (20=1)
Слайд 24
Convert from Decimal to Binary
Divide by 2 and
remember remainder
Number is given from bottom to top
Слайд 25
What Happens when we Convert from Decimal to
Binary
Divide by 2 and remember remainder
Same
Number is given from
bottom to top
1010112
The empty cells are 0
Слайд 26
Decimal to Binary conversion Algorithmically:
Natural Numbers
1. Input n
(natural no.)
2. Repeat
2.1. Output n mod 2
2.2. n ← n
div 2
until n = 0
Example: 1110
Step n output
1 11 -
2.1 11 1
2.2 5 -
2.1 5 1
2.2 2 -
2.1 2 0
2.2 1 -
2.1 1 1
2.2 0 -
Number is given from bottom to top
Слайд 27
Convert from Decimal to Binary
Divide by 2 and
remember remainder
Number is given from bottom to top
Слайд 28
Natural numbers: 1, 2, 3, 4, …
Alternative versions
of the number six
Decimal: 6
Alphabetically: six
Roman: VI
Tallying:
Numbers
we can already represent
Слайд 29
What’s still missing
Fractional numbers (real numbers)
Versions of one
and a quarter
Mixed number: 1¼,
Improper fraction: 5/4,
Decimal: 1.25
Слайд 30
Decimal numbers (base 10)
String of digits
- symbol for
negative numbers
Decimal point
A positional number system, with the index
giving the ‘value’ of each position.
Example:
3583.102 = 3 x 103 + 5 x 102 + 8 x 101 +
3 x 100 + 1 x 10-1 + 0 x 10-2 + 2 x 10-3
Слайд 31
Representing Decimal numbers in Binary
We can use two
binary numbers to represent a fraction by letting the
first number be the enumerator and the other be denominator
Problem: we want operation such as addition and subtraction to execute fast. This representation is not optimal.
Слайд 32
Representing Fractions in Binary
Use a decimal point like
in decimal numbers
There are two binary numbers the first
is the number before the (radix) point and the other after the point
Слайд 33
Representing decimal numbers in binary
Слайд 34
Convert fractional part from Decimal to Binary
Multiply by
2, remove and remember the integer part, which can
be either 0 or 1.
(Continue until we reach 1.0)
Number is given from top to bottom, because this time we multiplied
To convert the decimal part:
Слайд 35
Negative numbers
First bit (MSB) is the sign bit
If
it is 0 the number is positive
If it is
1 the number is negative
Goal when definition was chosen:
Maximize use of memory
Make computation easy
Слайд 36
Negative Numbers –
Calculate two’s Complement
The generate two’s
complement
Write out the positive version of number,
Write complement of
each bit
(0 becomes 1 and 1 becomes 0)
Add 1
The result is the two’s complement and the negative version of the number
Слайд 37
Negative Numbers –
Two’s Complement (examples)
3bit 8bit
011 310 00011101 2910 number
100 11100010
complement
+
001 00000001 +1
=== ========
101 -310 11100011 -2910 2’s complement
Слайд 38
Negative numbers – Two’s Complement(3 bits)
First bit (MSB)
is the sign bit
If it is 0 the number
is positive
If it is 1 the number is negative
Goal when definition was chosen:
Maximize use of memory
Make computation easy
None of the numbers repeat themselves – memory efficiency
If you add the binary numbers the sum up properly
Table of two’s complement for 3 bit numbers.
Слайд 39
Negative numbers – Two’s Complement (4 bits)
Binary addition
is done in the same way as decimal, using
carry
The last carry here doesn’t matter
When adding large numbers this has a wraparound (computers are equipped to deal with this)
Слайд 40
Computer representation
Fixed length
Integers
Real
Sign
Слайд 41
Bits, bytes, words
Bit: a single binary digit
Byte: eight
bits
Word: Depends!!!
Long Word: two words
Слайд 42
Integers
A two byte integer
16 bits
216 possibilities → 65536
-32768
≤ n ≤ 32767 or 0 ≤ n ≤
65535
Слайд 43
Signed integers
First bit is sign bit. n ≥
0, 0; n < 0, 1
For n ≥ 0,
15 bits are binary n
For n < 0, 15 bits are binary (n + 32768)
Example: -677210 (-0011010011101002)
10000000000000002
-0011010011101002
1100101100011002
Слайд 44
Real numbers
‘Human’ form: 4563.2835
Exponential form: 0.45632835 x 104
General form: ±m x be
Normalised binary exponential form: ±m
x 2e
Слайд 45
Real numbers
Conversion from Human to Exponential and back
655.54
= 0. 65554 * 103
0.000545346 = 0. 545346 *10-3
0.523432
* 105 = 52343.2
0.7983476 * 10-4 = 0.00007983476
If the exponent is positive then it is the number of digits after the decimal point (first must be non zero). If it is negative its absolute value is the number of digits after the decimal point.
You can use this to do both conversions
Слайд 46
Real numbers 2
For a 32 bit real number
Sign,
1 bit
Significand, 23 bits
Exponent, 8 bits
Слайд 47
Types of numbers
Integers: …, -3, -2, -1, 0,
1, 2, 3, …
Rational numbers: m/n, where m
and n are integers and n ≠ 0.
Examples: ½, 5/3, ¼ = 0.25 1/3 = 0.3333…
Irrational numbers,
examples: √2 ≈ 1.414, π ≈ 22/7 ≈ 3.14159
e ≈ 2.718.
Слайд 48
Other representations
Base Index form
Number = baseindex
e.g. 100 =
102
Percentage form
Percentage = number/100
e.g. 45% = 45/100 = 0.45
20%
= 20/100 = 0.2
110% = 110/100 = 1.1
Слайд 49
Other number systems
Bases can be any natural number
except 1.
Common examples are :
Binary (base 2)
Octal (base 8)
Hexadecimal
(base 16)
We’ll show what to do with base 5 and 7 and then deal with the octal and hexadecimal bases
Слайд 50
Convert from Decimal to Base 7
Divide by 7
and remember remainder
Same
Number is given from bottom to top
21627
Слайд 51
Convert from Base 7 to Decimal
21627 = 2*73+1*72+6*71+2*70=
686+49+42+2=77910
Слайд 52
Convert from Decimal to Base 5 and back
Divide
by 5 and remember remainder
134415 = 1*54+2*53+4*52+4*51+1*50= 625+250+100+20+1=99610
Слайд 53
Octal
Base eight
Digits 0,1,2,3,4,5,6,7
Example: 1210 = 148 = 11002
100110111102
Binary
2 3 3 6
= 23368 Octal
Conversion from binary to octal
Слайд 54
Convert from Binary to Octal and back
When converting
from binary to octal every three binary digits are
converted to one octal digit as in the table
When converting from octal to binary every octal digit is converted to three binary digits as in the table
The actual conversion can be done using the conversion table
11111000111012 = 174358
Слайд 55
Hexadecimal
Base sixteen
Digits 0,1,2,3,4,5,6,7,8,9,A(10), B(11), C(12),D(13),E(14),F(15).
Example B316 = 17910
= 101100112
110101012 Binary
D 5 Hexadecimal
Conversion from binary
to hexadecimal
Слайд 56
Convert from Binary to Hexadecimal and back
When converting
from binary to hexadecimal every four binary digits are
converted to one hexadecimal digit as in the table
When converting from hexadecimal to binary every hexadecimal digit is converted to four binary digits as in the table
The actual conversion can be done using the conversion table which can be written down in less than a minute
11111000111012 = 1F1D16
Слайд 57
Writing down the hexadecimal conversion table
Create the table
with a ruler need to be 5 columns and
16 rows
The binary LSB column is 01 repeated from top to bottom
The second binary index is 0011 repeated from top to bottom
The patterns should be obvious for the other digits
For the hexadecimal just start with 0 at the top and continue in increments of 1 until 9 is reached, then proceed with the letters of the alphabet
Слайд 58
Extra Slides
1 0 1 0 0 1 1
+1
1 1 0 1 1 1
1 1
0 1 1 0 1 0
1
1
1
1
1
1
12+12= 102
12+12+12= 102
0 with carry 1
1 with carry 1
May have an extra 0, but that doesn’t matter
All other options don’t have carry
Слайд 60
Extra Slides
The following slides present the same information
already appearing in other slides, in a different manner.
Слайд 61
Decimal to Binary conversion 1:
Mathematical Operations
n div 2
is the quotient.
n mod 2 is the remainder.
For example:
14 div 2 = 7, 14 mod 2 = 0
17 div 2 = 8, 17 mod 2 = 1
Слайд 62
Decimal to Binary conversion 2:
Natural Numbers
1. Input n
(natural no.)
2. Repeat
2.1. Output n mod 2
2.2. n ← n
div 2
until n = 0
Example: 1110
Step n output
1 11 -
2.1 11 1
2.2 5 -
2.1 5 1
2.2 2 -
2.1 2 0
2.2 1 -
2.1 1 1
2.2 0 -
Слайд 63
Decimal to Binary conversion 3:
Fractional Numbers
1. Input n
2. Repeat
2.1. m ← 2n
2.2. Output ⎢m ⎢
2.3. n
← frac(m)
until n = 0
⎢m ⎢ is the integer part of m
frac(m) is the fraction part.
Example: 0.37510
Step m n output
1 - 0.375 -
2.1 0.75 0.375 -
2.2 0.75 0.375 0
2.3 0.75 0.75 -
2.1 1.5 0.75 -
2.2 1.5 0.75 1
2.3 1.5 0.5 -
2.1 1 0.5 -
2.2 1 0.5 1
2.3 1 0 -
Слайд 64
Some hexadecimal (and binary) numbers!!!