1 Chapter 3 Data Representation
2 Chapter 3 Data RepresentationChapter 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
3 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
4 Data Representation and ProcessingCapabilities 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
5 Automated Data ProcessingData 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
6 A + B = C Example Circuit
7 Binary Data RepresentationBinary 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
8
9
10
11 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
12 Hexadecimal Notation
13 Octal Notation Uses base 8 numbering systemHas 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
14 Goals of Computer Data RepresentationComputer data formats are subject to trade-offs between several factors, including Compactness Accuracy Range Ease of manipulation Standardization Cost
15 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 = ,53510 232 = ,294,967,29610 264 = 18,446,744,073,709,551,61610
16 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
17 Goals of Data Representation Ease of ManipulationMachine 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
18 Goals of Data Representation StandardizationStandardized 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
19 CPU Data Types Primitive data types Integer Real number CharacterBoolean Memory address Representation format for each type balances compactness, accuracy, ease of manipulation, and standardization
20 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 format
21 Intel Memory Address Formats8088 20-bit memory addresses 4-bit segment identifier 16-bit segment offset 80286 24-bit memory addresses 8-bit segment identifier 80386 32-bit memory addresses 16-bit segment identifier 80486 Pentium
22 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
23 Commonly Used Data Structuresarrays linked lists records tables files indices objects
24 One Address Finds Many Data Elements
25 Pointers and AddressesData element that contains the address of another data element Address Location of a data element within a storage device
26 Arrays and Lists List A set of related data values ArrayAn ordered list in which each element can be referenced by an index to its position
27 A simple array is used to store words
28 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
29 A Singly Linked List
30 A Singly Linked List
31 Editing An Array
32 Editing A Singly Linked List
33 A Doubly Linked List
34 Records and Files RecordsData 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
35 A Record Data Structure
36 Methods of Organizing FilesSequential Stores records in contiguous storage locations Indexed An array of pointers to records Efficient record insertion, deletion, and retrieval
37 An Indexed File
38 Classes and Objects ClassesData 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 One instance, or variable, of the class
39 A Class of Objects
40 Summary How data is represented and stored within computer hardwareHow 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
41 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