Representation of Data (1)

advertisement
Information Science 1
-­‐Representa*on of Data in Memory-­‐ Week 03 College of Information Science and Engineering
Ritsumeikan University
Topics covered
Basic terms and concepts of “The Structure
of a Computer”
l  Positional numbering systems
l 
–  decimal
–  binary
–  octal
–  hexadecimal
l 
Conversion among different bases
- to decimal and from decimal
- other conversions
l 
Test
2
Recall Week 02
Digital system
l  Data, Binary
l  Memory, RAM
l  Bit, Byte, Computer Word, Address
l  CPU
l  CU, ALU, MAR, MDR, IR, GPR, PC, PSW
l  Machine Cycle, Fetch, Execute,
Automatic Sequence Control
l  Input, Output
l  Computer Bus
l 
3
Objectives of this class
To understand the fundamentals of
numerical data representation and
manipulation in computers
l  To master the skill of representing decimal
numbers in the binary, octal, and
hexadecimal systems
l  To be able to speak aloud a number in any
of the four bases
l  To be able to convert from decimal to the
above three numbering systems
l 
4
Recall: Computer as a digital
system
l 
A bit is the most basic (and, hence, the
smallest) unit of information in a computer
-  It is a state of “on” or “off” in a digital circuit
-  Sometimes these states are also called as
“high” or “low” (voltage)
l 
A byte is a group of eight bits
-  A byte is the smallest (in principle)
addressable unit of computer storage
-  “Addressable” means that a particular byte
can be retrieved according to its location
5
Computer words and nibbles
l 
A word is a contiguous group of bytes
- Words can be any number of bytes or bits (word
sizes of 32 or 64 bits are now most common)
- In a word-addressable system, a word is the
smallest addressable unit of memory storage
l 
A group of four bits is called a nibble (or
nybble)
-  A byte, therefore, consists of two nibbles:
a “high-order” nibble, and a “low-order” nibble
00111100010110001010011000110111101
6
Positional numbering system
l 
A positional numbering system (or
positional notation system) is a numeral
system in which each digit is related to the
next by a constant multiplier called the base
or radix of that system
–  The value of each digit position is, therefore,
the value of its digit multiplied by a power of the
base, where the power is determined by the
digit's position counted from the separator
(which is usually a dot “.” or comma “,”)
–  The value of a number is then calculated as the
sum of the values of all positions
7
Decimal system
l 
Decimal numbers have radix (base) = 10 (in
Latin, “decima” means “a tenth part”)
l 
Symbols used:
l 
0, 1, 2, 3, 4, 5, 6, 7, 8, and 9
Position weights:
… 103
1000
—  For
102
101
100
10
100 . 10-1 10-2 10-3 …
1
1/10
1/100
1/1000
example, the decimal number 36.250:
36.250 =
3*10 + 6*1+
2*1/10 + 5* 1/100 +0* 1/1000
8
Binary system
Binary numbers have radix = 2 (in Latin,
“bini” means “two together”)
l  Symbols used:
0 and 1
l  The radix (≠10) is denoted by a subscript (2
l  Position weights:
l 
… 23
8
—  For
22
21
20 . 2-1
2-2
2-3 …
4
2
1
1/4
1/8
1/2
example, the binary equivalent of 36.250:
36.250 =
1*32 + 1*4 + 1/4 = 100100.01(2
9
Octal system
Octal numbers have radix = 8 (in Latin,
“octo” means eight)
l  Symbols used:
0, 1, 2, 3, 4, 5, 6, and 7
l  Convenient when bits are grouped in triplets
l  Position weights:
l 
… 83
512
—  For
82
81
80 . 8-1
8-2
64
8
1
1/64
1/8
2-3 …
1/512
example, the octal equivalent of 36.250:
36.250 =
4*8 + 4*1 + 2*1/8 = 44.2(8
10
Hexadecimal system
Hexadecimal numbers have radix = 16 (in
Greek, “hexa” means six)
l  Symbols used:
0, …, 9, A, B, C, D, E, and F
l  Convenient to represent nibbles
l  Position weights:
l 
… 163
4096
162
161
256
16
160 . 16-1 16-2 16-3 …
1
1/16
1/256
1/4096
—  For
example, the hexadecimal equivalent of
36.250:
36.250 = 2*16 + 4*1 + 4*1/16 = 24.4(16
11
Radix r numbers
l 
For any radix r number represented with n
+m+1 digits as
Number(r → an...a1 a0 . a-1...a-m ,
its decimal equivalent is calculated as
follows:
Number(10 =
an×r n +...+a1×r 1 +a0 +a-1×r -1 +...+a-m×r –m
n
=
∑ar
i
i
i=− m
12
Examples: ASCII (main code)
13
Examples: RGB color codes
14
Conversion among different
systems
l 
l 
We already learned these 3 conversions:
Decimal
Octal
Hexadecimal
Binary
There still remain 9 other possible
conversions
15
Converting decimal to
another base
l 
The rule
— Left of the separator (i.e. of the decimal
point): repeatedly divide the integer part
by the radix and write the remainders (R)
right to left
— Right of the separator: repeatedly multiply
the fractional part by the radix and write
the integer portion (I) of the result left to
right
16
Example: Decimal to binary
22.8125 = ?(2
22.8125 = 10110(2.
11 R 0
5
R1
2
R1
1
R0
0
R1
22.8125 = .1101(2
1.625 I 1
1.25 I 1
0.5
I0
1.0
I1
0
I0
22.8125 = 10110.1101(2
17
Other examples
1234 = ?(8
1234 = ?(16
1234 = 2322(8
154 R 2
19 R 2
2
R3
0
R2
1234 = 4D2(16
77 R 2
4
R 13 = D
0
R4
18
The remaining conversions
To convert between binary, octal, and
hexadecimal, memorize and use the
conversion table (next slide):
— Octal is 3 bits for each digit
— Hexadecimal is 4 bits for each digit
l  Use binary as the intermediate to convert
between octal and hexadecimal
0110100110.1(2
= ?(8
= ?(16
000 110 100 110.100 0001 1010 0110.1000
6 4 6 .4
1
A
6
.8
0110100110.1(2
= 646.4(8 = 1A6.8(16
19
l 
Conversion table
Decimal
Base 10
Binary
Base 2
Octal
Base 8
Hexadecimal
Base 16
0(10
0000(2
0(8
0(16
1(10
0001(2
1(8
1(16
2(10
0010(2
2(8
2(16
3(10
0011(2
3(8
3(16
4(10
0100(2
4(8
4(16
5(10
0101(2
5(8
5(16
6(10
0110(2
6(8
6(16
7(10
0111(2
7(8
7(16
8(10
1000(2
10(8
8(16
9(10
1001(2
11(8
9(16
10(10
1010(2
12(8
A(16
11(10
1011(2
13(8
B(16
12(10
1100(2
14(8
C(16
13(10
1101(2
15(8
D(16
14(10
1110(2
16(8
E(16
15(10
1111(2
17(8
F(16
20
Key points of this lecture
Because binary numbers are the basis for
all data representation in digital systems,
it is important that you become proficient
with the binary system to understand the
operation of all computer components as
well as the design of computer
architectures
l  The binary system is the most important
positional numbering system for
computers
l 
21
Key points (cont-d)
l 
l 
It is, however, difficult to read long strings of
bits, and even a modestly-sized decimal
number becomes a very long binary number
—  For example,
1359510 =
11010100011011(2
—  For compactness and ease of reading, binary
values are usually expressed using the octal
or hexadecimal system
To convert among the different systems, use
the conversion algorithms and, when
appropriate, the conversion table
22
Homework
l  Read
these slides again
l  Read slides for the next lecture
and do the self-preparation
assignments
l  Learn the vocabulary
l  Consult, when necessary, the
textbook
23
Next class
l  Representation
of data in memory
(2)
- Basic computer operation
24
Test 01
25
Download