870 likes | 1.36k Views
Chapter 3 Data Representation. Chapter Goals. Numbering systems and their use in data representation Compare & contrast various data representation methods Describe how nonnumeric data is represented Describe common data structures and their uses. Data Representation and Processing.
E N D
Chapter Goals • Numbering systems and their use in data representation • Compare & contrast various data representation methods • Describe how nonnumeric data is represented • Describe common data structures and their uses INFO 225: Chapter 3
Data Representation and Processing Data can be manipulated in a variety of forms: • Arabic numerals • Roman numerals • Lines or tick marks • Pictorial characters • Alphabetic characters • Sound Waves INFO 225: Chapter 3
Data Representation and Processing To be processed by the brain, the data must be converted to an appropriate internal format. • Sight • Smell • Taste • Sound • Skin Sensation • Electrical Impulses INFO 225: Chapter 3
Data Representation and Processing Data and information processors must be able to: • Recognize external data and convert it to an appropriate internal format • Store and retrieve data internally • Transport data among internal storage and processing components INFO 225: Chapter 3
Automated Data Processing • Processing is implemented with electrical switches. • Switches are combined to form processing circuits. For Example: To add two numbers A & B A + B = C we need the processing circuit: INFO 225: Chapter 3
Automated Data Processing Figure 3-1: Two electrical Inputs on the left flow through processing circuitry that generates their sum on the right. INFO 225: Chapter 3
Binary Representation of Data • Computers represent data using binary numbers. • Binary numbers correspond directly with values in Boolean logic. • Computers combine multiple digits to form a single data value to represent large numbers. INFO 225: Chapter 3
Binary Data Representation The symbol used to represent a digit and digit position within a string determines its value. For Example: (5 x 1000) + (6 x 100) + (8 x 10) + 9 = 5,000 + 600 + 80 + 9 = 5,689 INFO 225: Chapter 3
Binary Data Representation The multiplier that describes the difference between one position and the next is the base (radix). • The base (radix) of a decimal number system is 10. • The base (radix) of a binary number system is 2. INFO 225: Chapter 3
Binary Data Representation The number of characters in the number system is equal to the base of the number system. • There are 10 characters in the decimal number system: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) • There are 2 characters in the binary number system: (0, 1) INFO 225: Chapter 3
Binary Data Representation The fractional part of a numeric value is separated from the whole number by a “period” (.) “called radix point”. For Example: 5,689.368 (3 x .1) + (6 x .01) + (8 x .001) = (3 x10-1) + (6x10-2) + (8x10-3) = 0.3 + 0.06 + 0.008 = 0.368 INFO 225: Chapter 3
Binary Data Representation In the binary numbering system: • The first position to the right of the radix point represents halves ( 2-1) • The second position to the right of the radix point represents quarters (2-2) • The third position to the right of the radix point represents eights (2-3) INFO 225: Chapter 3
Binary Data Presentation Table 3-1: Binary and decimal notations for the values 0 through 10 INFO 225: Chapter 3
Binary Data Representation You can convert a binary number to its decimal equivalent by multiplying the value of each position by the decimal weight of that position, then summing the results. 1010 Binary Number 1x23+0x22+1x21+0x20 (digit x baseposition+…) 1x8+0x4+1x2+0x1 8+0+2+0 10 INFO 225: Chapter 3
Binary Data Representation INFO 225: Chapter 3
Binary Data Representation Computing the decimal equivalent of a binary number INFO 225: Chapter 3
Hexadecimal Notation • The base(radix) of a hexadecimal number system is 16. • There are 16 characters in the hexadecimal number system. • There are only 10 characters in the Arabic number system that can be used to represent some of the 16 characters in the hexadecimal number system. • The letters A, B, C, D, E, F are used to represent the last 6 characters in the hexadecimal number system. INFO 225: Chapter 3
Hexadecimal Notation Table 3-3 Hexadecimal and decimal values INFO 225: Chapter 3
Hexadecimal Notation • The primary advantage of hexadecimal notation, is its compactness. • Hexadecimal numbers are often used to represent memory addresses. • Bit strings are usually expressed in binary, memory address are expressed in hexadecimal. INFO 225: Chapter 3
Octal Notation • Some operating systems and machine language programs use octal notation. • The base(radix) of an Octal number system is 8. • There are 8 characters in the octal number system. (0, 1, 2, 3, 4, 5, 6, 7) • Octal is a third of corresponding binary notation: • (7)8=(111)2 • Octal is double the length of hex: • (F)16=(17)8=(1111)2 INFO 225: Chapter 3
Binary vs Hex INFO 225: Chapter 3
Decimal, Binary, Hex, Octal • Decimal= 1023 = (1x103)+(0x102)+(2x101)+(3x100) • Binary = 0000 0011 1111 1111= (0x215+ 0x214 + 0x213 +…+1x23+1x22+1x21+1x20) • Octal = 1356 = (1x83)+(3x82)+(5x81)+(6x80) • Hex = 03FF = (0x163)+(3x162)+(Fx161)+(Fx160) INFO 225: Chapter 3
LSB MSB INFO 225: Chapter 3
Decimal Number is 1023 LSB MSB (1023) At Base 10 = (1777) at base 8 = (1x83)+(7x82)+(7x81)+(7x80) INFO 225: Chapter 3
Hex = 03FF = (0x163) + (3x162) + (Fx161) + (Fx160) LSB MSB (1023) At Base 10 = (03FF) at base16 = (0x163)+(3x162)+(Fx161)+(Fx160) INFO 225: Chapter 3
Goals of Computer Data Representation Any representation format for numeric data represents a balance among several factors, including: • Compactness • Accuracy • Range • Ease of manipulation • Standardization INFO 225: Chapter 3
Goals of Computer Data Representation Compactness: Compact data representation requires: • less storage space • less expensive processing • less expensive storage devices. INFO 225: Chapter 3
Goals of Computer Data Representation Accuracy: • The accuracy of representation increases with the number of data bits used. • Routine calculations can generate quantities that are either too large or too small to be stored within finite circuitry. INFO 225: Chapter 3
Goals of Computer Data Representation Ease of manipulation: • The efficiency of a processor depends on its complexity. • Efficient processor circuits perform their function quickly. INFO 225: Chapter 3
Goals of Computer Data Representation Standardization: • Data formats must be suitable for a wide variety of devices and computer systems. • Various organizations have created standard data encoding methods for communication among computer systems and their components. INFO 225: Chapter 3
CPU Data Types Five Primitive Data Types: • Integer • Excess Notation • Two’s Complement Notation • Real number • Floating Point Notation • Character • Boolean • Memory address INFO 225: Chapter 3
CPU Data Types Integers: • An integer is a whole number (e.g., 3, 5, 6) • Integers can be signed (+12, -8, etc.) or unsigned (20, 31, etc.) • A signed integer uses one bit to represent the sign • The sign bit is the high order bit (Leftmost or Most Significant Bit-MSB) INFO 225: Chapter 3
CPU Data Types Excess Notation: • Excess notation is used to represent signed integers • A fixed number of bits is used to represent the number • The leftmost digit represents the sign • The leftmost digit is 1 for positive values • The leftmost digit is 0 for negative values INFO 225: Chapter 3
CPU Data Types INFO 225: Chapter 3
CPU Data Types Two’s Complement Notation: • Nonnegative integer values are represented as ordinary binary numbers • Negative integer values are represented using – (Complement of positive value + 1) • The complement of a number is formed by changing all 1 bits to 0 and all 0 bits to 1 INFO 225: Chapter 3
CPU Data Types Two’s Complement Notation: For Example: Decimal number:-710 Binary representation: 01112 One’s Complement: 10002 Add one: + 00012 Two’s Complement: 10012 = (-710) INFO 225: Chapter 3
CPU Data Types Two’s Complement Notation: • The leftmost bit represents the sign • A fixed number of bit positions are used • Only two logic circuits are required to perform addition on single-bit values • Subtraction can be performed as addition of a negative value INFO 225: Chapter 3
CPU Data Types Range and Overflow: • Most modern CPUs use either 32 or 64 bits to represent a two’s complement value • The numeric range of a two’s complement value is –(2 n-1) to (2 n-1-1) For example: The range for a 32 bit number is –2 32-1 to 2 32-1-1 OR -2 31 = -2,147,483,648 to 2 31 – 1 = 2,147,483,647 INFO 225: Chapter 3
CPU Data Types Range and Overflow: • If data is too large to store in the 32 or 64 bits, then overflow occurs • Overflow is treated as an error by the CPU • To avoid overflow some computers and programming languages define additional data types as double precision (long integer) INFO 225: Chapter 3
CPU Data Types • Real Numbers: • A real number can contain both whole and fractional components • The whole portion appears to the left of the radix point (321.43) • The fractional portion appears to the right of the radix point (321.43) Real Numbers: For Example: 18.56 (Real Number) (18 whole portion) (.56 fractional portion) 16-bit 216-1 = 65,535 15-bit 0.000030517578125 Figure 3-3: A simple way to represent a real number within computer circuitry:32 bit storage format for real numbers using a fixed radix point Example: Decimal: 18.0 / 4.0 = 4.5 Binary: 10010 / 100 = 100.1 INFO 225: Chapter 3
CPU Data Types Floating point notions are like scientific notation except 2 is the base rather than 10. Floating Point Notation: • Floating point notation is used to represent very small numbers and very large numbers • Values can either be very large or very small, but not both at the same time 0.0000000013526473 1352647300000000.0 13,526,473x10-16 13,526,473x108 Value = mantissa x 10 exponent Value = mantissa x 2 exponent
CPU Data Types Floating Point Notation: • The exponent attached to the base can be interpreted as the number and the direction of positional moves of the radix point • Negative exponents indicate a movement to the left, and positive exponents indicate movement to the right Fig 3-4: Convention of Scientific Notation to Decimal Notation INFO 225: Chapter 3
Range, Overflow and Underflow: • Overflow occurs when the exponent is larger than the allocated space. • Underflow occurs when a negative exponent is too large in absolute value to fit within the bits allocated to store it. CPU Data Types Range, Overflow and Underflow: • The number of bits in the string represent the range of values • Number of bits in the mantissa (digits of the real number) • Number of bits in the exponent (position of radix point) 23-bit 8-bit Figure 3-5: IEEE 32 bit floating point format IEEE standard 754 defines 32-bit floating point IEEE standard 854 defines 64-bit floating point Largest Absolute Number:1.11111111111111111111111x211111111 INFO 225: Chapter 3
CPU Data Types • Precision: accuracy is reduced as the number of digits available to store the mantissa is reduced. • Truncation: if the number of digits in the mantissa is larger than the allocated space, the number of digits in the mantissa is truncated. INFO 225: Chapter 3
CPU Data Types Character Data: • An individual symbol is a character. • Characters grouped together form a string. • Character data can only be represented in the computer system using a coding scheme. INFO 225: Chapter 3
CPU Data Types Character Data: Coding Scheme Characteristics: • All users must use the same table of correspondence. • The values used to represent the data must be capable of being encoded, transmitted, and decoded. INFO 225: Chapter 3
CPU Data Types Character Data: Coding Scheme Characteristics: The specific coding method represents a tradeoff among compactness, ease of manipulation, accuracy, range, and standardization. INFO 225: Chapter 3
CPU Data Types Binary Coded Decimal (BCD): • Character coding method used by early IBM mainframe computers. • Characters are encoded as strings of six bits. • (26) = 64 symbols are represented. INFO 225: Chapter 3
CPU Data Types Extended Binary Coded Decimal Interchange Code (EBCBIC): • 8 bit coding method used by IBM mainframe computers. • Characters are encoded as strings of eight bits. • (28) = 256 symbols are represented. INFO 225: Chapter 3