Chapter 3 Data Representation Chapter 3 Data Representation

• Slides: 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

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 tradeoffs 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 Standardized data formats increases speed and accuracy of data communications Trade-off: processing time vs. networking The most efficient circuitry may require nonstandard 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

Editing An Array

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