1 / 24

Department of Computer and Information Science, School of Science, IUPUI

Department of Computer and Information Science, School of Science, IUPUI. CSCI 230. Information Representation: Negative and Floating Point Representation. Dale Roberts, Lecturer IUPUI droberts@cs.iupui.edu. Negative Numbers in Binary.

wylie
Download Presentation

Department of Computer and Information Science, School of Science, IUPUI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Department of Computer and Information Science,School of Science, IUPUI CSCI 230 Information Representation: Negative and Floating Point Representation Dale Roberts, Lecturer IUPUI droberts@cs.iupui.edu

  2. Negative Numbers in Binary • Four different representation schemes are used for negative numbers • Signed Magnitude • Left most bit (LMB) is the sign bit : • 0  positive (+) • 1  negative (-) • Remaining bits hold absolute magnitude Example: 210  0000 0010b -210 1000 0010b Q: 0000 0000 = ? 1000 0000 = ? Try, 1000 0100b = -410

  3. One’s Complement • Left most bit is the sign bit : • 0  positive (+) • 1  negative (-) • The magnitude is Complemented Example: 210 0 000 0010b -210  1 111 1101b Exercise: try - 410using 1’s Complement Q: 0000 0000 = ? 1111 1111 = ? Solution: 410 = 0 0000100b -410 = 1 1111011b

  4. Negative Numbers in Binary (cont.) • 2’s Complement • Sign bit same as above • Magnitude is Complemented first and a “1” is added to the Complemented digits • Example: • 210 0 000 0010b • 1’s Complement  1 1111101b • +1 • -210 1 111 1110b • Exercise: try -710using 2’s Complement • 710 • 1’s Complement  • +1 • -710  0000 0111b 11111000b • 1111 1001b

  5. Negative Numbers in Binary (cont.) 710 = 0000 0111b 310 = 0000 0011b 1’s complement 1111 1100b 2’s complement 1111 1101b -310 7+(-3)  0000 0111 + 1111 1101 • Example: 7+(-3) [hint]: A – B = A + (~B) +1 1 1111 111 carry • ignore1 0000 0100  0000 0100 410

  6. Three Representation of Signed Integer

  7. Negative Numbers in Binary (cont.) • Excess Representation • For a given fixed number of bits the range is remapped such that roughly half the numbers are negative and half are positive. Example: (as left) Excess – 8 notation for 4 bit numbers • Binary value = 8 + excess-8 value • MSB can be used as a sign bit, but • If MSB =1, positive number • If MSB =0, negative number

  8. Fundamental Data Type • With vs. without using sign bit • For a 16 bit binary pattern:

  9. Fundamental Data Type • Four Data Typesin C(assume 2’s complement, byte machine) • Note: 27 = 128, 215 =32768, 215 = 2147483648 • Complex and double complex are not available

  10. 2 1 0 -1 -2 -3 22 21 20 2-1 2-2 2-3 4 2 1 ½ ¼ 1/8 x x x x Fractional Numbers Examples: 456.7810 = 4 x 102 + 5 x 101 + 6 x 100 + 7 x 10-1+8 x 10-2 1011.112 = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 1 x 2-1 + 1 x 2-2 = 8 + 0 + 2 + 1 + 1/2 + ¼ = 11 + 0.5 + 0.25 = 11.7510 • Conversion from binary number system to decimal system Examples: 111.112 = 1 x 22 + 1 x 21 + 1 x 20 + 1 x 2-1 + 1 x 2-2 = 4 + 2 + 1 + 1/2 + ¼ = 7.7510 Examples: 11.0112

  11. write in the same order • Conversion from decimalnumber system to binary system Examples: 7.7510 = (?)2 • Conversion of the integer part: same as before – repeated division by 2 7 / 2 = 3 (Q), 1 (R)  3 / 2 = 1 (Q), 1 (R)  1 / 2 = 0 (Q), 1 (R) 710 = 1112 • Conversion of the fractional part: perform a repeated multiplication by 2 and extract the integer part of the result 0.75 x 2 =1.50  extract 1 0.5 x 2 = 1.0  extract 1 0.7510 = 0.112 0.0  stop  Combine the results from integer and fractional part, 7.7510 = 111.112 How about choose some of Examples: try 5.625B 4 2 1 1/2 1/4 1/8 =0.25 =0.125 =0.5

  12. 0.6 x 2 = 1.2  extract 1 • 0.2 x 2 = 0.4  extract 0 • 0.4 x 2 = 0.8  extract 0 • 0.8 x 2 = 1.6  extract 1 • 0.6 x 2 =  •  (0.6)10= (0.1001 1001 1001 …)2 Fractional Numbers (cont.) Exercise 1: Convert (0.625)10 to its binary form Exercise 2: Convert (0.6)10to its binary form Solution: • Solution: 0.625 x 2 = 1.25  extract 1 • 0.25 x 2 = 0.5  extract 0 • 0.5 x 2 = 1.0  extract 1 • 0.0  stop •  (0.625)10= (0.101)2

  13. Fractional Numbers (cont.) Exercise 3: Convert (0.8125)10 to its binary form • Solution: 0.8125 x 2 = 1.625  extract 1 • 0.625 x 2 = 1.25  extract 1 • 0.25 x 2 = 0.5  extract 0 • 0.5 x 2 = 1.0  extract 1 • 0.0  stop •  (0.8125)10= (0.1101)2

  14. Fractional Numbers (cont.) • Errors • One source of error in the computations is due to back and forth conversions between decimal and binary formats Example: (0.6)10 + (0.6)10 = 1.210 Since (0.6)10= (0.1001 1001 1001 …)2 Lets assume a 8-bit representation: (0.6)10= (0 .10011001)2 , therefore 0.6 0.10011001 + 0.6  + 0.10011001 1.00110010 Lets reconvert to decimal system: (1.00110010)b = 1 x 20 + 0 x 2-1 + 0 x 2-2 + 1 x 2-3 + 1 x 2-4 + 0 x 2-5 + 0 x 2-6 + 1 x 2-7 + 0 x 2-8 = 1 + 1/8 + 1/16 + 1/128 = 1.1953125  Error = 1.2 – 1.1953125 = 0.0046875

  15. Floating Point Number Representation • If x is a real number then its normal form representation is: x =f•Base E where f : mantissa E: exponent exponent Example: 125.3210 =0.12532•103 mantissa - 125.3210 = - 0.12532 • 103 0.054610 = 0.546 • 10 –1 • The mantissa is normalized, so the digit after the fractional point is non-zero. • If needed the mantissa should be shifted appropriately to make the first digit (after the fractional point) to be non-zero & the exponent is properly adjusted.

  16. Example: 134.1510 = x 10 0.002110 = x 10 101.11B = 0.011B = AB.CDH= 0.00ACH= 3 0.13415 -2 0.21

  17. MSB LSB • Assume we use 16-bit binary pattern for normalized binary form based on the following convention (MSB to LSB) Sign of mantissa (±)= left most bit (where 0: +; 1: - ) Mantissa (f)= next 11 bits Sign of exponent (±)= next bit (where 0: +; 1: - ) Exponent (E) = next three bits x =±f•Base ±E f = 0.?1?2?3?4…?11 ?12…?15 E :converted to binary, b1b2b3 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?10 ?11 b1 b2 b3 + : 0 - : 1 + : 0 - : 1

  18. sign 1 bit mantissa 11 bits sign 1 bit exponent 3 bits Floating Point Number Representation • Question: How the computer expresses the 16-bit approximation of 1110.111010111111 in normalized binary form using the following convention Sign of mantissa = left most bit (where 0: +; 1: - ) Mantissa = next 11 bits Sign of exponent = next bit (where 0: +; 1: - ) Exponent = next three bits Answer: Step 1: Normalization 1110.111010111111 = + 0.1110111010111111 * 2 +4 Step 2: “Plant” 16 bits the 16 bit floating point representation is0111011101010100

  19. Question: Interpret the normalized binary number 0111 0000 0000 1010 B using the convention mentioned Sign of mantissa = left most bit (where 0: +; 1: - ) Mantissa = next 11 bits Sign of exponent = next bit (where 0: +; 1: - ) Exponent = next three bits find its decimal equivalent. Answer: 0111000000001010 B= 0.111B* 2-2 = 7/32 = 0.21875D

  20. 1 sign bit 8 exponent 23 fraction Real Life Example: IEEE 754 • IEEE Standard 754 is the representation of floating point used on most computers. • Single precision (float) is 32 bits or 4 bytes with the following configuration. • The sign field is 0 for positive or 1 for negative • The exponent field has a bias of 127, meaning that 127 is added to the exponent before it’s stored. 20 becomes 127, 21 becomes 128, 2-3 becomes 124, etc. • In the mantissa, the decimal point is assumed to follow the first ‘1’. Since the first digit is always a ‘1’, a hidden bit is used to representing the bit. The fraction is the 23 bits following the first ‘1’. The fraction really represents a 24 bit mantissa.

  21. Real Life Example: IEEE 754 IEEE 754 Examples: Normalized Numbers 0 1000 0011 0000 0000 0000 0000 0000 000 = 1 x 24 = 16 0 0011 0001 0000 0000 0000 0000 0000 000 = 1 x 2-78 = 3.3087e-24 0 1000 0001 0100 0000 0000 0000 0000 000 = 1.25 x 22 = 5

  22. 1 sign bit 11 exponent 52 fraction Real Life Example: IEEE 754 • Double precision (double) is 64 bites or 8 bytes with the following configuration. • The definition of the fields matches single precision. • The double precision bias is 1023. • What value can you not represent because of the hidden bit? • Certain bit patterns are reserved to represent special values. Of particular importance is the representation for zero (all bits zero). There are also patterns to represent infinity, positive and negative numeric overflow, positive and negative numeric underflow, and not-a-number (abbreviated NaN).

  23. Real Life Example: IBM 370 mantissa 24 bits sign 1 bit exponent 7 bits • The 32 Bit Single Precision Floating Point Format for IBM 370 • Base = 16 • Exponent = Excess-64 notation (i.e., compute binary equivalent, then substrate 64) • Sign = sign of number (0: positive, 1: negative) • Mantissa = normalized fraction (i.e. first digital after ‘.’ is non-zero) Example: What is the value of the following point number? 1 100 0010 1001 0011 1101 0111 1100 0010 Sign = 1  the number is negative Exponent (E) = 100 00102 = 6610 = 2 (substrate 64, because of Excess-64 ) Mantissa (f ) = 100100111101011111000010 = 93D7C2H • The above floating point number is: x = (sign) f• 16 E = - 0.93D7C2 • 16 2 x = - (9 x 16-1+ 3x 16-2+Dx 16-3+ 7 x 16-4+ Cx 16-5 +2x 16-6)• 16 2 = - (9 x 161 + 3x 160 +13x 16-1+ 7 x 16-2+ 12x 16-3 +2x 16-4) = - (144+3 +0.8125+0.02734375 + 0.0029296875 + 0.000030517578125) = - 147.842803955078125

  24. Acknowledgements • These slides where originally prepared by Dr. Jeffrey Huang, updated by Dale Roberts. • IEEE 754 information was obtained from Steve Hollasch http://stevehollasch.com/cgindex/coding/ieeefloat.html. • IEEE 754 examples were obtained from Tony Cassandra at St. Edward’s University.

More Related