Data Representation / Conversion Presentation

Download Report

Transcript Data Representation / Conversion Presentation

Data Representation
Conversion
06/04/2016
1
Learning Objectives:
Show understanding of the basis of different number
systems and use the binary, denary and hexadecimal
number system.
Convert a number from one number system to another.
Show understanding of, and be able to represent,
character data in its internal binary form depending on
the character set used (Candidates will not be expected to
memorise any particular character codes but must be familiar with
ASCII and Unicode).
Express a denary number in Binary Coded Decimal
(BCD) and vice versa.
Describe practical applications where BCD is used.
06/04/2016
2
The Binary System
Computers store information (data of all
types – numbers, characters, sound,
pictures, …) in Binary format i.e. base 2.

i.e. 0 or 1
Used because computers can only store
and understand 2 states:

i.e. whether a circuit has current flowing or not
/ circuit is closed or open / voltage is high or
low.
06/04/2016
1
0
3
Bits and Bytes
A binary digit (1 or 0) is known as a ‘bit’, short
for BInary digiT.
In modern computers bits are grouped in 8 bit
bytes.
A Nibble is 4 bits (half a byte).
A Word is the number of bits that the CPU can
process simultaneously.


Determines the speed of the computer.
Processors can have 8-, 16-, 32-(standard) or 64(fast) bit word sizes (or more).
06/04/2016
4
Character set
The symbols that a computer (software)
can recognise which are represented by
binary codes that the computer
understands.
06/04/2016
5
Character Representation
Over the years different computer
designers have used different sets of
binary codes for representing characters
in a character set.
This has led to great difficulty in
transferring information from one computer
to another.

i.e. which binary code represents each
character
06/04/2016
6
ASCII (American Standard Code
for Information Interchange)
Represents each character in a standard
character set as a single byte binary code.
The standard code form that most PCs use to
allow for communication between systems.
Usually uses a 7 bit binary code so can store
128 different characters and simple
communications protocols.
Sufficient for all characters on a standard
keyboard plus control codes.

06/04/2016
Can be extended (extended ASCII) to use 8 bits (so
can store 256 characters) to encode Latin language
characters.
7
ASCII code
The first 32 ASCII codes are used for simple
communications protocols, not characters.






e.g. ACK – acknowledge and would be sent by a
device to acknowledge receipt of data.
0110010 – 2
0110001 – 1
…..
1000001 – A
1000010 – B
06/04/2016
8
Representing Characters and
Numbers
e.g. If the ‘A’ key is pressed ‘1000001’ is
sent to the CPU.
If the 1 key is pressed then ‘0110001’ is
sent to the CPU.
If the user wants to print ‘123’ the codes
for 1, 2 & 3 are sent to the printer.
06/04/2016
9
Binary Arithmetic Rules
0+0=0
0+1=1
1+0=1
1 + 1 = 0 (carry 1)
1+1+1 = 1 (carry 1)
06/04/2016
10
Arithmetic
ASCII coding is fine for input and output but
useless for arithmetic:



2
-1
1
0110010
- 0110001
0000000 i.e. not 1
There is no easy way to perform calculations on
the numbers stored in this way.
Numbers which are to be used in calculations
are therefore held in binary format.
06/04/2016
11
Decimal or Denary system
134 = 100 + 30 + 4
Each column is worth 10X as much
as the last i.e. base 10 (10 fingers!).
06/04/2016
100 10 1
1 3 4
12
Binary system
134 = 128 + 4 + 2
Each column is worth 2X as much as the last
i.e. base 2.
128 64 32 16 8 4 2 1
1
0
0
Most Significant Bit
(MSB)
0 0 1 1 0
Least Significant Bit
(LSB)
Increasing Bit Status
06/04/2016
13
Binary – Decimal Spreadsheet
Converter 1
Try using it to ‘play’ with binary numbers.

https://4565e4f1bb6fcb191b6a80b2e8cd1502a3f5fc3b.googledri
ve.com/host/0BxvAvCIUrln7bjJWaDAwZ0lBVFU/as_computer_s
cience/information_rep/binary-denary_converter1.xls
06/04/2016
14
Denary -> Binary e.g. 117
1. Always use the column headings for a byte (8 bits).
2. 117 < 128 so put a 0 and repeat.
128
64
32
16
8
4
2
1
16
8
4
2
1
0
3. 117 > 64 so put a 1.
128
64
0
1
32
4. 117 - 64 = 53 , 53 > 32, so put a 1.
128
64
32
16
8
4
2
1
0
1
1
1
0
1
0
1
5. 53 - 32 = 21 , 21 > 16, so put a 1.
6. Continue this until:
128
64
32
16
8
4
2
1
0
1
1
1
0
1
0
1
Binary -> Denary e.g. 10110110
Put the column headings above the binary
number and add up all the columns with a 1 in
them.
128
64
32
16
8
4
2
1
1
0
1
1
0
1
1
0
So 10110110 = 128 + 32 + 16 + 4 + 2
= 182 (denary)
Questions
1. Convert the following binary numbers to
decimal.

0011
3

0110
6

1010
10

01000001
65

01000101
69
06/04/2016
17
8 bit patterns
Because in modern computers bits are
grouped in 8 bit bytes numbers in binary
format are usually written in 8 bit patterns
even if there are unnecessary left leading
0’s.


e.g. 11(binary) = 3 (decimal)
But you will usually find it written as 00000011
06/04/2016
18
Decimal -> Binary Questions
2. Convert the following decimal numbers to binary:

5
00000101

7
00000111

1
00000001

26
00011010

68
01000100

137
10001001
06/04/2016
19
Size of number
Using only one byte to hold a number of
places a restriction on the size of number
the computer can hold.
Therefore four or more consecutive bytes
are commonly used to store numbers
06/04/2016
20
Binary -> Decimal Questions
3. What is the largest decimal number that
can be held in (hint: 2^no. of bits):

1 byte
255 (2^8 - 1)

2 bytes
65535 (2^16 - 1)

3 bytes
16777215 (2^24 - 1)

4 bytes
4294967295 (2^32-1)
06/04/2016
21
Hexadecimal
Counts in 16’s.
Uses the digits 0 – 9 and letters A – F.


We need symbols going further than 0 to 9 (only 10
symbols and we need 16!).
We could invent 6 more symbols but we would have
to learn them, so we use 6 that we already know, the
letters A to F.
Each digit is worth 16X as much as the one to
the right.
Each hex bit = 4 binary bits.

e.g. F (decimal 15) = 1111
06/04/2016
22
Hexadecimal
Denary / Decimal Binary Hexadecimal
1
00000001
1
2
00000010
2
etc ….
9
00001001
9
10
00001010
A
11
00001011
B
etc ….
15
00001111
F
16
00010000
10
06/04/2016
23
Decimal -> Hexadecimal e.g. 75
1. Use the column headings 1, 16, 256, … (16^n)
2. 75 < 4096 & 75 < 256 so put a 0.
4096
256
0
0
16
1
3. 75 > 16 & 75 / 16 = 4 r 11
4. 11= B (hexadecimal)
4096
256
16
1
0
0
4
B
So 75 =
4B (Hexadecimal)
Hexadecimal-Denary Converter
Try using it to ‘play’ with hexadecimal
numbers.

https://4565e4f1bb6fcb191b6a80b2e8cd1502a3f5fc3b.googledri
ve.com/host/0BxvAvCIUrln7bjJWaDAwZ0lBVFU/as_computer_s
cience/information_rep/hexadecimal-denary_converter.xls
06/04/2016
25
Denary -> Hexadecimal Question:
Translate 101 (denary) into hexadecimal.
 65
Translate 64 (denary) into hexadecimal.
 40
06/04/2016
26
Hexadecimal -> Denary e.g. BD
4096
256
16
1
0
0
B
D
0
0
11
13
B = 11 , D = 13
BD = (11 * 16) + 13
= 176 + 13
= 189 ( in denary)
06/04/2016
27
Hexadecimal -> Denary Question:
Translate 96 (hexadecimal) into denary.

150
Translate the 75 (hexadecimal) into
denary.
 117
Translate the 30 (hexadecimal) into
denary.
 48
06/04/2016
28
Binary -> Hexadecimal
Translate each group of 4 bits into denary and
then into hexadecimal.
e.g. 10010010 (binary) = (1001)(0010) = (9)(2) =
92 (hexadecimal)
An alternative way to convert from denary to
hexadecimal is to convert to binary and then do
the above.

Subsequently, vice versa for hexadecimal to denary.
06/04/2016
29
Hexadecimal
In order to ease the task of examining the
contents of memory or a computer file,
binary numbers are commonly put into
groups of 4 bits and displayed in the form
of hexadecimal numbers, base 16.
Used as a shorthand for binary.
06/04/2016
30
Questions:
The ASCII code for the letter N is 0100
1110. Show how to represent this in
a) denary
78
b) hexadecimal
= (0100) (1110) = (4 + 14) = 4E
06/04/2016
31
BCD (Binary Coded Decimal)
Represents numbers only by representing
each decimal digit by a 4 bit binary code.
Decimal Binary
0
1
2
0000
0001
0010
etc....
9
1001
06/04/2016
e.g. 19 is shown by:


1
9
0001 1001
32
Denary -> BCD Question
Convert 398602 (denary) into BCD.

001110011000011000000010
06/04/2016
33
BCD -> Denary e.g. 001001110110
Split into groups of 4.

(0010) (0111) (0110)
Translate each group of 4 into decimal in
the same fashion as binary -> decimal.

2 7 6
So 001001110110 =
06/04/2016
276 (denary)
34
BCD -> Denary Question
Convert 100000110101 (BCD) into
denary.

835
06/04/2016
35
BCD (Binary Coded Decimal)
Advantages:

Easy to convert from BCD to decimal and vice
versa:
as a BCD number is split into groups of four bits
and each group converted directly to the
corresponding decimal digit
Used in some pocket calculators
06/04/2016
36
Fixed Point Binary
A number with a decimal point is known
(strangely!) as a real number as opposed to an
integer which is a whole number.
We can extend the binary system to represent
real numbers by reserving some bits for the real
or fractional part.
8
0
4
1
2
1
1
0
.
½
1
¼
1
1/8 1/16
0
0
6.75 = 0110.1100
06/04/2016
37
Fixed Point Binary Precision
110.1 = 6.5
110.11 = 6.75
We have missed out 6.51 to 6.74!
This means accuracy is poor.
06/04/2016
38
BCD (Binary Coded Decimal)
Advantages:

When storing fractional numbers in BCD no
‘rounding’ occurs:
As each digit is encoded separately so as many
bits as necessary are used to represent the
complete number
Used in business applications where every
significant digit has to be retained in a result.
06/04/2016
39
BCD (Binary Coded Decimal)
Disadvantage

More bits are required to store each number
than pure binary e.g.
19 in BCD = 0001 1001 (8 bits)
19 in normal binary format = 10011 (5 bits)

Difficult to calculate with:
e.g. 1
+ 19
20
06/04/2016
0000 0001
0001 1001
0001 1010
‘10’ is wrong
invalid
40
BCD (Binary Coded Decimal)
Only the first ten out of 16 combinations of 4
digits are used to encode the decimal digits ‘0’ to
‘9’
Therefore whenever the sum of two binary digits
is >9, 6 has to be added to skip over the 6
unused codes.
e.g.
06/04/2016
1
+ 19
20
0000 0001
+0001 1001
0001 1010
+
0110
0010 0000 i.e. 20 which is correct
41
Unicode
16 bit code so can store 65536 characters
and codes and simple communications
protocols.
Used to allow coding of languages that do
not use Western characters.
Currently supports 24 language scripts.
06/04/2016
42
Plenary
Express the denary value 109 as



06/04/2016
A binary number using an 8-bit byte.
A hexadecimal number.
A number in binary coded decimal (BCD).
43
Plenary
01101101
6D
0001 0000 1001
06/04/2016
44