Download + 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Mathematics of radio engineering wikipedia , lookup

Law of large numbers wikipedia , lookup

Principia Mathematica wikipedia , lookup

Bra–ket notation wikipedia , lookup

Abuse of notation wikipedia , lookup

Large numbers wikipedia , lookup

Location arithmetic wikipedia , lookup

History of mathematical notation wikipedia , lookup

Musical notation wikipedia , lookup

Addition wikipedia , lookup

Big O notation wikipedia , lookup

Arithmetic wikipedia , lookup

Positional notation wikipedia , lookup

Elementary mathematics wikipedia , lookup

Transcript
Data Representation
The Binary Number System
Binary
The binary number system is a means of
representing quantities using only 2 digits:
0 and 1.
Like other number systems it’s based on
Positional Notation.
Positional Notation
In the Decimal system each column of a number
represents a power of 10.
103
102
101
100
1000
100
10
1
Positional Notation
In the Binary system each column of a number
represents a power of 2.
23
22
21
20
8
4
2
1
Binary
Rather than referring to each of the numbers
as a binary digit, we shorten the term to bit.
To facilitate addressing, binary values are
typically stored in units of 8 bits, which is
called a byte.
Large values occupy multiple bytes.
Natural Numbers
Consider the pattern:
10010101
To calculate the Decimal equivalent of this number,
multiply the each digit by the value of the column
and sum the products.
Natural Numbers
27
26
25
24
23
22
21
20
Natural Numbers
27 26
128 64
25
32
24 23
16 8
22
4
21
2
20
1
Natural Numbers
27 26
128 64
1
0
25
32
0
24 23
16 8
1 0
22
4
1
21
2
0
20
1
1
Natural Numbers
27 26 25 24 23 22
128 64 32 16 8 4
1
0
0
1 0 1
128 + 0 + 0 +16 +0 +4 +
21 20
2
1
0
1
0 + 1
Natural Numbers
27 26 25 24 23 22
128 64 32 16 8 4
1
0
0
1 0 1
128 + 0 + 0 +16 +0 +4 +
=149
21 20
2
1
0
1
0 + 1
Natural Numbers
27 26 25 24 23 22
128 64 32 16 8 4
1
1
1
1 1 1
128 +64 +32 +16 +8 +4 +
21 20
2
1
1
1
2 + 1
=255
This is the largest Unsigned value that can be stored
in 8 bits.
How many patterns are there?
Natural Numbers
Conversion from Decimal to Binary uses the
same technique, in reverse.
Consider the value 73.
This is 7 units of 10, plus 3 units of 1.
Natural Numbers
We need to express the value in terms of
powers of 2.
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
Natural Numbers
What is the largest power of 2 that is
included in 73?
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
Natural Numbers
64 is the largest power of 2 that is included in
73, so a 1 is needed in that position
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
0
1
Natural Numbers
Subtracting 64 from 73 leaves 9, which cannot
include 32 or 16, but does include 8.
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
0
1
0
0
1
Natural Numbers
Subtracting 8 from 9 leaves 1, which cannot include
4 or 2, but does include 1.
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
0
1
0
0
1
0
0
1
Integer Storage
• To store integers, half the combinations are
used to represent negative values.
• The Most Significant Bit is used to
represent the sign.
• Which value of the sign bit (0 or 1) will
represent a negative number?
2’s Complement Notation
(examples in 8 bits to save space)
• The notation system that uses 1 to represent
negative values.
• Fixed length notation system.
• Zero is the first non-negative value:
00000000
• The pattern immediately before zero is -1
11111111
• The largest value is stored as 01111111
• The smallest value is stored as 10000000
2’s Complement Notation
Note that the representations of non-negative
integers in 2’s Complement look the same
as they do for Natural numbers.
However, negative values look VERY
different than we might expect.
2’s Complement Notation
Complementary numbers sum to 0.
Decimal is a Signed Magnitude system so
complements have the same magnitude but
different signs: 5 and -5, for example.
2’s Complement is a Fixed Length system.
There are no signs, so to find the
complement of a number another technique
is needed.
2’s Complement Notation
One such technique is to simply change each bit to
its opposite, and then add 1.
To find the 2’s complement notation for -5, first
find the representation of 5:
00000101
Then “flip the bits” and add 1.
11111010
+1
11111011
Arithmetic in 2’s Complement
(remember it’s a fixed length system)
00
00
01
01
+
+
+
+
00
01
00
01
-1
+1
in 2’s complement
0
discard the carry bit
in 2’s complement
=
=
=
=
00
01
01
10
11111111
+ 00000001
1 00000000
Fractions
• A radix separates the integer part from the
fraction part of a number.
101.101
• Columns to the right of the radix have
negative powers of 2.
Fractions
22
21
20
.
2-1
2-2
2-3
Fractions
22
21
20
.
2-1
2-2
2-3
4
2
1
.
½
¼
⅛
Fractions
22
21
20
.
2-1
2-2
2-3
4
2
1
.
½
¼
⅛
1
0
1
.
1
0
1
Fractions
22
21
20
.
2-1
2-2
2-3
4
2
1
.
½
¼
⅛
1
0
1
.
1
0
1
4
+
1
+
½
+
⅛
Fractions
22
21
20
.
2-1
2-2
2-3
4
2
1
.
½
¼
⅛
1
0
1
.
1
0
1
4
+
1
+
½
+
⅛
5⅝
Scientific Notation
Very large and very small numbers are often
represented such that their order of magnitude
can be compared.
The basic concept is an exponential notation using
powers of 10.
a × 10b
Where b is an integer,
and a is a real number such that:
1 ≤ |a| < 10
Scientific Notation
An electron's mass is about
0.00000000000000000000000000000091093826 kg.
In scientific notation, this is written
9.1093826×10−31 kg.
The Earth's mass is about
5,973,600,000,000,000,000,000,000 kg.
In scientific notation, this is written
5.9736×1024 kg.
E Notation
To allow values like this to be expressed on
calculators and early terminals
× 10b
was replaced by Eb
So 9.1093826×10−31
becomes 9.1093826E−31
And 5.9736×1024
becomes 5.9736E+24
E Notation
The ‘a’ part of the number is called the
mantissa or significand.
The ‘Eb’ part is called the exponent.
Since exponents could also be negative they
would typically have a sign as well.
Floating Point Storage
In floating point notation the bit pattern is
divided into 3 components:
Sign – 1 bit (0 for +, 1 for -)
Exponent – stored in Excess notation
Mantissa – must begin with 1
Excess Notation
(examples are in 8 bits to save space)
• The notation system that uses 0 to represent
negative values.
• Fixed length notation system.
• Zero is the first non-negative value:
10000000
• The pattern immediately before zero is -1
01111111
• The largest value is stored as 11111111
• The smallest value is stored as 00000000
Mantissa
• Assumes a radix point immediately left of
the first digit.
• The exponent will determine how far and
in which direction to move the radix.
An example in 8 bits
If the following pattern stores a floating point
value, what is it?
01101001
An example in 8 bits
If the following pattern stores a floating point
value, what is it?
01101001
Separate it into its components:
An example in 8 bits
If the following pattern stores a floating point
value, what is it?
01101001
Separate it into its components:
sign
exponent
mantissa
An example in 8 bits
If the following pattern stores a floating point
value, what is it?
0 110 1001
Separate it into its components:
sign
exponent
mantissa
An example in 8 bits
0 110 1001
A sign bit of 0 means the number is…?
An example in 8 bits
0 110 1001
A sign bit of 0 means the number is positive.
110 in Excess Notation converts to …?
An example in 8 bits
0 110 1001
A sign bit of 0 means the number is positive.
110 in Excess Notation converts to +2.
Place the radix in the mantissa …
An example in 8 bits
0 110 1001
A sign bit of 0 means the number is positive.
110 in Excess Notation converts to +2.
Place the radix in the mantissa .1001
Put it all together …
An example in 8 bits
0 110 1001
A sign bit of 0 means the number is positive.
110 in Excess Notation converts to +2.
Place the radix in the mantissa .1001
Put it all together …
+ .1001 * 22
An example in 8 bits
+ .1001 * 22
Multiplying a binary number by 2 shifts the bits left (moves
the radix to the right) one position.
So this exponent tells us to shift the radix 2 positions right.
+ 10.01
= 2¼
Normal Form
• The first bit of the mantissa must be 1 to
prevent multiple representations of the
same value.
0 100 1000
0
.1000
.1000
0 101 0100
1
.0100
.1000
0 110 0010
2
.0010
.1000
0 111 0001
3
.0001
.1000