CHAPTER 2 Data Representation in Computer Systems
CHAPTER 2
Data Representation in Computer Systems
2.1 Introduction 57 2.2 Positional Numbering Systems 58 2.3 Converting Between Bases 58
2.3.1 Converting Unsigned Whole Numbers 59 2.3.2 Converting Fractions 61 2.3.3 Converting between Power-of-Two Radices 64
2.4 Signed Integer Representation 64
2.4.1 Signed Magnitude 64 2.4.2 Complement Systems 70 2.4.3 Excess-M Representation for Signed Numbers 76 2.4.4 Unsigned Versus Signed Numbers 77 2.4.5 Computers, Arithmetic, and Booth's Algorithm 78 2.4.6 Carry Versus Overflow 81 2.4.7 Binary Multiplication and Division Using Shifting 82
2.5 Floating-Point Representation 84
2.5.1 A Simple Model 85 2.5.2 Floating-Point Arithmetic 88 2.5.3 Floating-Point Errors 89 2.5.4 The IEEE-754 Floating-Point Standard 90 2.5.5 Range, Precision, and Accuracy 92 2.5.6 Additional Problems with Floating-Point Numbers 93
2.6 Character Codes 96
2.6.1 Binary-Coded Decimal 96 2.6.2 EBCDIC 98 2.6.3 ASCII 99 2.6.4 Unicode 99
2.7 Error Detection and Correction 103
2.7.1 Cyclic Redundancy Check 103 2.7.2 Hamming Codes 106 2.7.3 Reed-Soloman 113 Chapter Summary 114
CMPS375 Class Notes (Chap02)
Page 1 / 25
Dr. Kuo-pao Yang
2.1 Introduction 57
This chapter describes the various ways in which computers can store and manipulate numbers and characters.
Bit: The most basic unit of information in a digital computer is called a bit, which is a contraction of binary digit.
Byte: In 1964, the designers of the IBM System/360 mainframe computer established a convention of using groups of 8 bits as the basic unit of addressable computer storage. They called this collection of 8 bits a byte.
Word: Computer words consist of two or more adjacent bytes that are sometimes addressed and almost always are manipulated collectively. The word size represents the data size that is handled most efficiently by a particular architecture. Words can be 16 bits, 32 bits, 64 bits.
Nibbles: Eight-bit bytes can be divided into two 4-bit halves call nibbles.
2.2 Positional Numbering Systems 58
Radix (or Base): The general idea behind positional numbering systems is that a numeric value is represented through increasing powers of a radix (or base).
System
Radix Allowable Digits
---------------------------------------------------------------------
Decimal
10
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Binary
2
0, 1
Octal
8
0, 1, 2, 3, 4, 5, 6, 7
Hexadecimal 16
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
TABLE 2.1 Some Number to Remember
EXAMPLE 2.1 Three numbers represented as powers of a radix.
243.5110 2123 101102
= 2 * 102 + 4 * 101 + 3 * 100 + 5 * 10-1 + 1 * 10-2 = 2 * 32 + 1 * 31 + 2 * 30 = 2310 = 1 * 24 + 0 * 23 + 1 * 22 + 1 * 21 + 0 * 20 = 2210
CMPS375 Class Notes (Chap02)
Page 2 / 25
Dr. Kuo-pao Yang
2.3 Converting Between Bases 58
There are two important groups of number base conversions: 1. Conversion of decimal numbers to base-r numbers 2. Conversion of base-r numbers to decimal numbers
2.3.1 Converting Unsigned Whole Numbers 59
EXAMPLE 2.3 Convert 10410 to base 3 using the division-remainder method.
10410 = 102123
3|104 2 3| 34 1 3| 11 2
3| 3 0 3|1 1 0
EXAMPLE 2.4 Convert 14710 to binary
14710 = 100100112
2|147 1 2| 73 1
2|36 0 2|18 0
2|9 1 2|4 0 2|2 0 2|1 1
0
A binary number with N bits can represent unsigned integer from 0 to 2n ? 1. Overflow: the result of an arithmetic operation is outside the range of allowable
precision for the give number of bits.
CMPS375 Class Notes (Chap02)
Page 3 / 25
Dr. Kuo-pao Yang
2.3.2 Converting Fractions 61
EXAMPLE 2.6 Convert 0.430410 to base 5.
0.430410 = 0.20345
0.4304
X
5
2.1520
X
5
0.7600
X
5
3.8000
X
5
4.0000
EXAMPLE 2.7 Convert 0.3437510 to binary with 4 bits to the right of the binary point.
0.3437510 = 0.01012
0.34375
X
2
0.68750
X
2
1.37500
X
2
0.75000
X
2
1.50000
Reading from top to bottom, 0.3437510 = 0.01012 to four binary places. We simply discard (or truncate) our answer when the desired accuracy has been achieved.
CMPS375 Class Notes (Chap02)
Page 4 / 25
Dr. Kuo-pao Yang
EXAMPLE 2.8 Convert 31214 to base 3
First, convert to decimal Then convert to base 3
31214 = 3 * 43 + 1 * 42 + 2 * 41 + 1 * 40 = 3 * 64 + 1 * 16 + 2 * 4 + 1 * 1 = 21710
21710 = 220013
3|217 1 3| 72 0 3| 24 0
3| 8 2 3|2 2 0
We have 31214 = 220013
2.3.3 Converting between Power-of-Two Radices 64
EXAMPLE 2.9 Convert 1100100111012 to octal and hexadecimal. 110 010 011 1012 = 62358 Separate into groups of 3 for octal conversion 1100 1001 11012 = C9D16 Separate into groups of 4 for octal conversion
CMPS375 Class Notes (Chap02)
Page 5 / 25
Dr. Kuo-pao Yang
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- lecture 19 bit operations
- bit operations ohio state university
- coding schemes used with data converters rev a
- mips arithmetic howard huang
- 2 s complement and floating point
- 9 binary numbers codes stanford university
- l08 arithmetic multipliers
- two s complement arithmetic edward bosworth
- binary arithmetic bit shifting 2s complement intro to
- fixed point arithmetic an introduction