Вы находитесь на странице: 1из 41

Chapter 3

Data Representation
Chapter 3
Data Representation
Chapter Outline
Data Representation and Processing
Automated Data Processing
Binary Data Representation
Goals of Computer Data Representation
CPU Data Types
– Integer
– Real number
– Character
– Boolean
– Memory address
Technology Focus:
Intel Memory Address Format
Data Structures
Chapter Goals
• Describe numbering systems and their use in
data representation

• Compare and contrast various data


representation methods

• Describe how nonnumeric data is represented

• Describe common data structures and their


uses
Data Representation and Processing
• Capabilities required of any data/information
processor–organic, mechanical, electrical,
optical:

– Recognizing external data and converting


it to an appropriate internal format

– Storing and retrieving data internally

– Transporting data among internal storage


and processing components

– Manipulating data to produce desired


results or decisions
Automated Data Processing
• Data is converted from native format into a
form suitable for the processing device

• Computers represent data electrically and


process it with electrical switches

• Laws of electricity can be stated as


mathematical equations

• Electronic devices perform computational


functions embedded in the equations
A+B=C
Example Circuit
Binary Data Representation
• Binary number

– Only one of two possible values (0 or 1)


per digit

• Reliably transported among computer system


components

• Can be processed by two–state electrical


devices (relatively easy to design and
fabricate)

• Correspond directly with values in Boolean


logic
Hexadecimal Notation
• Uses 16 as its base or radix
(hex = 6, and decimal = 10)

• Compact; advantage over binary notation

• Often used to designate memory addresses


Hexadecimal Notation
Octal Notation
• Uses base 8 numbering system

• Has a range of digits from 0 to 7

• Expresses large numeric values in:

– One-third the length of corresponding


binary notation

– Double the length of corresponding


hexadecimal notation
Goals of Computer Data
Representation
Computer data formats are subject to trade-
offs between several factors, including

Compactness

Accuracy

Range

Ease of manipulation

Standardization

Cost
Goals of Data Representation
Compactness (Size)
Describes number of bits used to represent a
numeric value

Trade-off: hardware cost vs. range of values

Fewer bits limits the range of values that can


be represented
More bits requires increased cost in computer
hardware to represent numbers

216 = 65,53510
232 = 4,294,967,29610
264 = 18,446,744,073,709,551,61610
Goals of Data Representation
Accuracy (Precision)
Precision of representation increases with
number of data bits used

Trade-off: hardware cost vs. precision

Fewer bits limits the precision of values that


are represented
More bits requires increased cost in computer
hardware to represent numbers precisely

Calculations can easily produce numbers too big


or too small to represent precisely
So, they are represented as approximations
that have a predictable error
Goals of Data Representation
Ease of Manipulation
Machine efficiency increases when processing
shorter and simpler numeric formats

Trade-off: processing time vs. precision

Processor efficiency depends on its complexity


Shorter and simpler formats require simpler
circuitry
More precise formats require increased cost in
computer hardware to process instructions
Goals of Data Representation
Standardization
Standardized data formats increases speed and
accuracy of data communications

Trade-off: processing time vs. networking

The most efficient circuitry may require non-


standard data formats
To share information between a wide variety of
devices, standardized data formats need to
be used
CPU Data Types
• Primitive data types

– Integer
– Real number
– Character
– Boolean
– Memory address

• Representation format for each type


balances compactness, accuracy, ease of
manipulation, and standardization
Memory Addresses
• Identifying numbers of memory bytes in
primary storage

• Simple or complex numeric values depending


on memory model used by CPU

– Flat memory addresses


• single integer

– Segmented memory addresses


• multiple integers
• requires definition of specific coding
Intel Memory Address Formats
• 8088
– 20-bit memory addresses
• 4-bit segment identifier
• 16-bit segment offset
• 80286
– 24-bit memory addresses
• 8-bit segment identifier
• 16-bit segment offset
• 80386
– 32-bit memory addresses
• 16-bit segment identifier
• 16-bit segment offset
Data Structures
• Related groups of primitive data elements
organized for a type of common processing

• Defined and manipulated within software

• Many use pointers to link primitive data


components
Commonly Used Data Structures
arrays

linked lists

records

tables

files

indices
One Address
Finds Many Data Elements
Pointers and Addresses
• Pointer

– Data element that contains the address of


another data element

• Address

– Location of a data element within a


storage device
Arrays and Lists
• List

– A set of related data values

• Array

– An ordered list in which each element can


be referenced by an index to its position
A simple array
is used to store words
Linked Lists
• Data structures that use pointers so list
elements can be scattered among
nonsequential storage locations

– Singly linked lists

– Doubly linked lists

• Easier to expand or shrink than an array


A Singly
Linked List
A Singly
Linked List
Editing An Array
Editing
A Singly
Linked List
A Doubly
Linked List
Records and Files
• Records

– Data structures composed of other data


structures or primitive data elements

– Used as a unit of input and output to files

• Files

– Sequence of records on secondary storage


A Record Data Structure
Methods of Organizing Files
• Sequential

– Stores records in contiguous storage


locations

• Indexed

– An array of pointers to records

– Efficient record insertion, deletion, and


retrieval
An Indexed File
Classes and Objects
• Classes

– Data structures that contain traditional


data elements and programs that
manipulate that data

– Combine related data items and extend


the record to include methods that
manipulate the data items

• Objects
A Class
of Objects
Summary
• How data is represented and stored within
computer hardware

• How simple data types are used as building


blocks to create more complex data
structures
(e.g., arrays, records)

• Understanding data representation is key to


understanding hardware and software
technology
Chapter Goals
• Describe numbering systems and their use in
data representation

• Compare and contrast various data


representation methods

• Describe how nonnumeric data is represented

• Describe common data structures and their


uses

Вам также может понравиться