> %` ^ObjbjNN 7,,^G$))))l*$b3<+<+<+<+<+<+<+<+2222222$X4h63,<+<+,,3<+<+3///,<+<+2/,2///<+0+})g-/0230b3/z79/vz7/z7/8<+Z+@/+4
,<+<+<+33/<+<+<+b3,,,,$$$%)$$$)$$$Real Numbers
We have been studying integer arithmetic up to this point.
We have discovered that a standard computer can represent a finite subset of the infinite set of integers. The range is determined by the number of bits used for the integers.
For example, the range for 16bit twos complement arithmetic is 32,768 to 32,767.
We now turn our attention to real numbers, focusing on their representation as floating point numbers.
The floating point representation of decimal numbers is often called Scientific Notation.
Most of us who use real numbers are more comfortable with fixed point numbers, those with a fixed number of digits after the decimal point.
For example, normal U.S. money usage calls for two digits after the decimal: $123.45
Most banks use a variant of fixed point numbers to store cash balances and similar accounting data. This is due to the roundoff issues with floating point numbers.
It might be possible to use 32bit twos complement integers to represent the money in pennies. We could represent $ 21,474,836.48 to $ 21,474,836.47
Floating Point Numbers
Floating point notation allows any number of digits to the right of the decimal point.
In considering decimal floating point notation, we focus on a standard representation, often called scientific notation, in which the number is represented as a product.
(1)S ( X ( 10P, where 1.0 ( X < 10.0
The restriction that 1.0 ( X < 10.0 insures a unique representation.
Examples: 0.09375 = (1)0 ( 9.375 ( 10-2
23.375 = (1)1 ( 2.3375 ( 101
1453.0 = (1)0 ( 1.453 ( 103
6.022142 ( 1023 Avogadros Number, already in the standard form.
Avogadros number, an experimentally determined value, shows 2 uses of the notation.
1. Without it, the number would require 24 digits to write.
2. It shows the precision with which the value of the constant is known. This says that the number is between 6.0221415 ( 1023 and 6.0221425 ( 1023.
QUESTION: What common number cannot be represented in this form?HINT: Consider the constraint 1.0 ( X < 10.0.
Zero Cannot Be Represented
In standard scientific notation, a zero is simply represented as 0.0.
One can also see numbers written as 0.0 ( 10P, for some power P, but this is usually the result of some computation and is usually rewritten as simply 0.0 or 0.00.
The constrained notation (1)S ( X ( 10P (1.0 ( X < 10.0), not normally a part of scientific notation, is the cause of the inability to represent the number 0.
Argument: Solve X ( 10P = 0. Since X > 0, we can divide both sides by X.
We get: 10P = 0. But there is no value P such that 10P = 0.
Admittedly, 101000000 is so small as to be unimaginable, but it is not zero.
Having considered this nonstandard variant of scientific notation, we move on and discuss normalized binary numbers.
Our discussion of floating point numbers will focus on a standard called
IEEE FloatingPoint Standard 754, Single Precision
Normalized Binary Numbers
Normalized binary numbers are represented in the form.
(1)S ( X ( 2P, where 1.0 ( X < 2.0
Again, the constraint on X insures a unique representation. It also allows a protocol based on the fact that the first digit of the number X is always 1.
In other words, X = 1.Y. Here are some examples.
1.0 = 1.0 ( 20, thus P = 0, X = 1.0 and, Y = 0.
1.5 = 1.5 ( 20, thus P = 0, X = 1.5 and, Y = 5.
2.0 = 1.0 ( 21, thus P = 1, X = 1.0 and, Y = 0.
0.25 = 1.0 ( 22, thus P = 2, X = 1.0 and, Y = 0.
7.0 = 1.75 ( 22, thus P = 2, X = 1.75 and, Y = 75.
0.75 = 1.5 ( 21, thus P = 1, X = 1.5 and, Y = 5.
The unusual representation of Y will be explained later.
The standard calls for representing a floatingpoint number with the triple (S, P, Y).
Representing the Exponent
The exponent is an integer. It can be either negative, zero, or positive.
In the IEEE Single Precision format, the exponent is stored as an 8bit number in excess127 format.
Let P be the exponent. This format calls for storing the number (P + 127) as an unsigned 8bit integer.
The range of 8bit unsigned integers is 0 to 255 inclusive. This leads to the following limits on the exponent that can be stored in this format.
0 ( (P + 127) ( 255
127 ( P ( 128
Here are come examples.
P = 5; 5 + 127 = 122. Decimal 122 = 0111 1010 binary, the answer.
P = 1; 1 + 127 = 126. Decimal 126 = 0111 1110 binary, the answer.
P = 0; 0 + 127 = 127. Decimal 127 = 0111 1111 binary, the answer.
P = 4; 4 + 127 = 131 Decimal 131 = 1000 0011 binary, the answer.
P = 33; 33 + 127 = 160 Decimal 160 = 1010 0000 binary, the answer.
IEEE Floating Point Standard 754 (Single Precision)
The standard calls for a 32bit representation. From left to right, we have
One sign bit: 1 for a negative number and 0 for a nonnegative number.
Eight exponent bits, storing the exponent in excess127 notation.
23 bits for the significand, defined below.
The standard calls for two special patterns in the exponent field.
0000 0000 (P = 127) Reserved for denormalized numbers (defined below)
1111 1111 (P = 128) Reserved for infinity and NAN (Not a Number) Each defined below.
The range of exponents for a normalized number is 127 < P < 128.
Normalized Numbers in IEEE Single Precision
In this standard, a normalized number is represented in the format:
(1)S ( X ( 2P, where 1.0 ( X < 2.0 and 126 ( P ( 127.
The smallest positive number that can be represented as a normalized number in this format has value 1.0 ( 2126. We convert this to decimal.
Log10(2) = 0.301030, so Log10(2126) = (126) ( 0.301030 = 37.92978 = 0.07022 38. But 100.07022 ( 1.2.We conclude that 2126 is about 1.2 ( 1038, the lower limit on this format.
The largest positive number that can be represented as a normalized number in this format has a value (2 223) ( 2127, minutely less than 2 ( 2127 = 2128.
Now Log10(2128) = 128 ( 0.301030 = 38.53184. Now 100.53184 ( 3.4.We conclude that 2128 is about 3.4 ( 1038, the upper limit on this format.
The range for positive normalized numbers in this format is 1.2 ( 1038 to 3.4 ( 1038.
Denormalized Numbers
Consider two numbers, one small and one large. Each is a positive number that can be represented as a normalized number in this format.
Let X = 1020 and Y = 1020.
Then X / Y = 1040, a number that cannot be represented in normalized form.This leads to what is called an underflow error.
There are two options: either say that X / Y = 0.0 or store the number in another format.
The designers of the IEEE Floating Point Format devised denormalized numbers to handle this underflow problem. These are numbers with magnitude too small to be represented as normalized numbers.
The one very important denormalized number that is the exception here is zero.
Zero, denoted as 0.0, is the only denormalized number that will concern us.
The standard representation of 0.0 is just thirty two 0 bits.
0000 0000 0000 0000 0000 0000 0000 0000
0x00000000
Infinity and NAN (Not A Number)
Here we speak loosely, in a fashion that would displease most pure mathematicians.
InfinityWhat is the result of dividing a positive number by zero?
This is equivalent to solving the equation X / 0 = Y, or 0 ( Y = X > 0, for some value Y.There is no value Y such that 0 ( Y > 0. Loosely we say that X / 0 = (.The IEEE standard has a specific bit pattern for each ( and (.
NANWhat is the result of dividing zero by zero?
This is equivalent to solving the equation 0 / 0 = Y, or 0 ( Y = 0.This is true for every number Y. We say that 0 / 0 is not a number.
It is easy to show that the mathematical monstrosities ( ( and ( / ( must each be set to NAN. This involves techniques normally associated with calculus.
An implementation of the standard can also use this not a number to represent other results that do not fit as real numbers. One example would be the square root of 1.
Normalized Numbers: Producing the Binary Representation
Remember the structure of the single precision floating point number.
One sign bit: 1 for a negative number and 0 for a nonnegative number.
Eight exponent bits, storing the exponent in excess127 notation.
23 bits for the significand.
Step 1: Determine the sign bit. Save this for later.
Step 2: Convert the absolute value of the number to normalized form.
Step 3: Determine the eightbit exponent field.
Step 4: Determine the 23bit significand. There are shortcuts here.
Step 5: Arrange the fields in order.
Step 6: Rearrange the bits, grouping by fours from the left.
Step 7: Write the number as eight hexadecimal digits.
Exception: 0.0 is always 0x0000 0000. (Space used for legibility only) This is a denormalized number, so the procedure does not apply.
Example: The Negative Number 0.750
Step 1: The number is negative. The sign bit is S = 1.
Step 2: 0.750 = 1.5 ( 0.50 = 1.5 ( 21. The exponent is P = 1.
Step 3: P + 127 = 1 + 127 = 126. As an eightbit number, this is 0111 1110.
Step 4: Convert 1.5 to binary. 1.5 = 1 + = 1.12. The significand is 10000. To get the significand, drop the leading 1. from the number. Note that we do not extend the significand to its full 23 bits, but only place a few zeroes after the last 1 in the string.
Step 5: Arrange the bits: Sign | Exponent | Significand
Sign Exponent Significand 1 0111 1110 1000 00
Step 6: Rearrange the bits
1011 1111 0100 0000 etc.
Step 7: Write as 0xBF40. Extend to eight hex digits: 0xBF40 0000.
The trick with the significand works because it comprises the bits to the right of the binary point. So, 10000 is the same as 1000 0000 0000 0000 0000 000.
Example: The Number 80.09375
This example will be worked in more detail, using methods that are more standard.
Step 1: The number is not negative. The sign bit is S = 0.
Step 2: We shall work this out in quite some detail, mostly to review the techniques.
Note that 26 ( 80.09375 < 27, so the exponent ought to be 6.
Convert 80. 80 / 2 = 40 remainder 0 40 / 2 = 20 remainder 0 20 / 2 = 10 remainder 0 10 / 2 = 5 remainder 0 5 / 2 = 2 remainder 1 2 / 2 = 1 remainder 0 1 / 2 = 0 remainder 1 101 0000 in binary.
Convert 0.09375 0.90375 ( 2 = 0.1875 0.1875 ( 2 = 0.375 0.375 ( 2 = 0.75 0.75 ( 2 = 1.50 (Drop the leading 1) 0.50 ( 2 = 1.00
The binary value is 101 0000.00011
Example: The Number 80.09375 (Continued)
Step 2 (Continued): We continue to convert the binary number 101 0000.00011.
To get a number in the form 1.Y, we move the binary point six places to the left. This moving six places to the left indicates that the exponent is P = 6.
101 0000.00011 = 1.0100 0000 011(26
Step 3: P + 127 = 6 + 127 = 133 = 128 + 5. In binary we have 1000 0101.
Step 4: The significand is 0100 0000 011 or 0100 0000 0110 0000. Again, we just take the number 1.0100 0000 011 and drop the 1..
Step 5: Arrange the bits: Sign | Exponent | Significand
Sign Exponent Significand 0 1000 0101 0100 0000 0110 0000
Step 6: Rearrange the bits
0100 0010 1010 0000 0011 00000 etc.
Step 7: Write as 0x42A030. Extend to eight hex digits: 0x42A0 3000.
Example in Reverse: 0x42E8 0000
Given the 32bit number 0x42E8 0000, determine the value of the floating point number represented if the format is IEEE754 Single Precision. Just do the steps backwards.
Step 1: From left to right, convert all nonzero hexadecimal digits to binary. If necessary, pad out with trailing zeroes to get at least ten binary bits.
4 2 E 8 0100 0010 1110 1000
Step 2: Rearrange the bits as 1 bit | 8 bits | the rest
Sign Exponent Significand 0 1000 0101 1101000
Step 3: Interpret the sign bit. S = 0; the number is nonnegative.
Step 4: Interpret the exponent field. 1000 01012 = 128 + 4 + 1 = 133. P + 127 = 133; P = 6.
Step 5: Extend and interpret the significand. Extend to 1.11012. Drop the trailing 0s. 1.11012 = 1 + 1/2 + 1/4 + 1/16 = 1 13/16 = 1.8125
Example in Reverse: 0x42E8 0000 (continued)
Step 6: Evaluate the number. I show three ways to compute the magnitude.
6a Just do the multiplication. We have 1.8125 ( 26 = 1.8125 ( 64 = 116.0
6b Consider the fractional powers of 2. 1.11012 = 1 + 1/2 + 1/4 + 1/16, so we have (1 + 1/2 + 1/4 + 1/16)(64 = 64 + 32 + 16 + 4 = 116.0
6c The binary representation is 1.11012 ( 26. Move the binary point six places to the right to remove the exponent. But first pad the right hand side of the significand to six bits.
The binary representation is 1.1101002 ( 26. This equals 111 0100.0 = 64 + 32 + 16 + 4 = 116.0
REMARK: Whenever the instructor gives more than one method to solve a problem, the student should feel free to select one and ignore the others.
Example in Reverse: 0xC2E8 0000
This is a example rigged to make a particular point.
Step 1: From left to right, convert all nonzero hexadecimal digits to binary. If necessary, pad out with trailing zeroes to get at least ten binary bits.
C 2 E 8 1100 0010 1110 1000
Step 2: Rearrange the bits as 1 bit | 8 bits | the rest
Sign Exponent Significand 1 1000 0101 1101000
Here, we take a shortcut that should be obvious. Compare this bit pattern withthat of the previous example, which evaluated to 116.0.
This pattern 1 1000 0101 1101000
116.0 0 1000 0101 1101000
This is the same number, just with a different sign bit. The answer isthe negative number 116.0.
A Final Example: 0xC000 0000
Step 1: From left to right, convert all nonzero hexadecimal digits to binary.
C
1100
If necessary, pad out with trailing zeroes to get at least ten binary bits. Just to be thorough, I pad the number out to twelve binary bits.
C 0 0 1100 0000 0000
Step 2: Rearrange the bits as 1 bit | 8 bits | the rest
Sign Exponent Significand 1 1000 0000 0000
Step 3: Interpret the sign bit. S = 1; the number is negative.
Step 4: Interpret the exponent field. 1000 00002 = 128. P + 127 = 128; P = 1.
Step 5: Extend and interpret the significand. Extend to 1.00002. This is exactly 1.0
Step 6: Evaluate the number: 1.0 ( 21 = 2.0.
Precision
How accurate is this floating point format?
Recall again the bit counts for the various fields of the number.
One sign bit: 1 for a negative number and 0 for a nonnegative number.
Eight exponent bits, storing the exponent in excess127 notation.
23 bits for the significand.
It is the 23 bits for the significand that give rise to the precision.
With the leading 1 (that is not stored), we have 24 bits, thus accuracy to 1 part in 224.
224 = 24 ( 220 = 16 ( 220 = 16, 777, 216.
1 part in 10, 000, 000 would imply seven significant digits. This is slightly better, so we can claim seven significant digits.
The IEEE double precision format extends the accuracy to more digits.
Bankers and other financial types prefer exact arithmetic, so use another format (BCD) for all of their real number (money) calculations.
IBM S/370 Floating Point Data
We now discuss the representation used by IBM on its mainframe computers:the Sytem/360, System/370, and subsequent mainframes.
All floating point formats are of the form (S, E, F) representing (1)S(BE(F.It is the triple (S, E, F) that is stored in memory.
S the sign bit, 1 for negative and 0 for nonnegative.
B the base of the number system; one of 2, 10, or 16.
E the exponent.
F the fraction.
The IEEE754 standard calls for a binary base.
The IBM 370 format uses base 16.
Each of the formats represents the numbers in normalized form.
For IBM 370 format, this implies that 0.0625 < F ( 1.0. Note (1/16) = 0.0625.
S/370 Floating Point: Storing the Exponent
The exponent is stored in excess64 format as a 7bit unsigned number.
This allows for both positive and negative exponents.
A 7bit unsigned binary number can store values in the range [0, 127] inclusive.
The range of exponents is given by 0 ( (E + 64) ( 127, or
64 ( E ( 63.
The leftmost byte of the format stores both the sign and exponent.
Bits01234567FieldSignExponent in Excess64 formatExamples
Negative number, Exponent = 8 E + 64 = 56 = 48 + 8 = X38 = B011 1000.
01234567Sign3810111000The value stored in the leftmost byte is 1011 1000 or B8.
Converting Decimal to Hexadecimal
The first step in producing the IBM 370 floating point representationof a real number is to convert that number into hexadecimal format.
The process for conversion has two steps, one each for the integer and fractional part.
Example: Represent 123.90625 to hexadecimal.
Conversion of the integer part is achieved by repeated division with remainders.
123 / 16 = 7 with remainder 11 XB
7 / 16 = 0 with remainder 7 X7.
Read bottom to top as X7B. Indeed 123 = 7(16 + 11 = 112 + 11.
Conversion of the fractional part is achieved by repeated multiplication.
0.90625 ( 16 = 14.5 Remove the 14 (hexadecimal E)
0.5 ( 16 = 8.0 Remove the 8.
The answer is read top to bottom as E8.
The answer is that 123.90625 in decimal is represented by X7B.E8.
Converting Decimal to IBM 370 Floating Point Format
The decimal number is 123.90625.
Its hexadecimal representation is 7B.E8.
Normalize this by moving the decimal point two places to the left.
The number is now 162 ( 0.7BE8.
The sign is 0, as the number is not negative.
The exponent is 2, E + 64 = 66 = X42. The leftmost byte is X42.
The fraction is 7BE8.
The left part of the floating point data is 427BE8.
In single precision, this would be represented in four bytes as 42 78 E8 00.
S/370: Available Floating Point Formats
There are three available formats for representing floating point numbers.
Single precision 4 bytes 32 bits: 0 31
Double precision 8 bytes 64 bits: 0 63
Extended precision 16 bytes 128 bits; 0 127.
The standard representation of the fields is as follows.
FormatSign bitExponent bitsFraction bitsSingle01 78 31Double01 78 63Extended01 78 127NOTE: Unlike the IEEE754 format, greater precision is not accompanied by a greater range of exponents.
The precision of the format depends on the number of bits used for the fraction.
Single precision 24 bit fraction 1 part in 224 7 digits precision *
Double precision 56 bit fraction 1 part in 256 16 digits precision **
*224 = 16,777,216 ** 256 ( (100.30103)56 ( 1016.86 ( 7(1016.
GHM j v
I
\
/0G
,
I
J
N
O
P
Q
R
T
ƺƺƺƺƲzrfr[rz jh[CJ$aJ$h[h[CJ$H*aJ$h[CJ$aJ$hMCJ$aJ$hzJhzJ5CJ$aJ$hqCJ$aJ$hzJCJ$aJ$hm\hq5CJ,aJ,hXCJ(aJ(hqCJ(aJ(hXhX5CJ$aJ$hXCJ$aJ$hThT5CJ$aJ$hm\CJ$aJ$hTCJ$aJ$hm\hm\5CJ,aJ,hq5CJ,aJ,"
HM
0GJ
p
%jgd24gd-jxgd[ $a$gdM $ha$gdqhgdXgdm\ $ha$gdm\^OT
U
X
Y
e
f
o
p
øðÙ}}Ñuluauaululuau jhnCJ$aJ$hnCJ$H*aJ$hnCJ$aJ$ jh[CJ$aJ$h[CJ$H*aJ$h[CJ$aJ$h[h[CJ$aJ$hnh;8b5CJ$aJ$hm\CJ$aJ$ jh;8bCJ$aJ$h;8bCJ$aJ$hm\hMCJ$aJ$ jhMCJ$aJ$hMhMCJ$H*aJ$hMCJ$aJ$ jhMCJ$aJ$&"#(1257ij~wxy|~ ٿٿٷٿ٣|phh0CJ$aJ$h0h245CJ,aJ,h0h05CJ,aJ,h[CJ$aJ$ jh0pCJ$aJ$h0pCJ$aJ$h24h245CJ$aJ$h24CJ$aJ$h-jCJ$aJ$h-jh-jCJ$H*aJ$ jh-jh-jCJ$aJ$h-jh-jCJ$aJ$hnCJ$H*aJ$hnCJ$aJ$ jhnCJ$aJ$& f5CvNgdYD $a$gdCZ $ha$gd5&h $a$gdL#lxgd{gdm\ $ha$gd0gd0p()*+./2349:!./45CηηΫΣyymybZhCJ$aJ$h\~h\~CJ$aJ$h\~h\~5CJ$aJ$hMh\~CJ$H*aJ$ jh\~CJ$aJ$h\~CJ$aJ$ jhCJ$aJ$hCJ$aJ$hMhJ)CJ$H*aJ$ jhJ)CJ$aJ$h[hJ)CJ$H*aJ$hJ)CJ$aJ$hMh0CJ$H*aJ$ jh0CJ$aJ$h0CJ$aJ$h0h0CJ$aJ$#CKBCvw'ۻ۞{pe]]RhYDhYDCJ$aJ$hX46CJ$aJ$hm\hCZCJ$aJ$ jhCZCJ$aJ$hMhCZCJ$H*aJ$ jhCZCJ$aJ$h[hCZCJ$H*aJ$hCZCJ$aJ$h5&hh5&h5CJ,aJ,h5&h5CJ,aJ,hL#lhL#l5CJ$aJ$hL#lCJ$aJ$h5&hh5&h5CJ$aJ$h5&hCJ$aJ$h[CJ$aJ$hCJ$aJ$hhCJ$H*aJ$()+,8:EFGMZ[]_fklns"#zDEDӿhFCJ$aJ$h{CJ$aJ$h(pCJ$aJ$hB_`hCZ5CJ,aJ,hB_`hB_`5CJ,aJ,hX46CJ$aJ$hYDCJ$aJ$hYDhYDCJ$H*aJ$hYDhYDCJ$aJ$ jhYDhYDCJ$aJ$<#zEBVf~
QYxgdM $ha$gdCxgdX $a$gd2R $xa$gd2R $ha$gdB_`gdm\gdYDDEPQV\]`af~RYXYSTx>?@klƺ}qh hz75CJ,aJ,h h 5CJ,aJ,hW5CJ,aJ,hMhM5CJ$aJ$hMCJ$aJ$hz7hz75CJ$aJ$hz7CJ$aJ$hChX5CJ,aJ,hChC5CJ,aJ,hXhXCJ$aJ$hXCJ$aJ$h2RCJ$aJ$h{CJ$aJ$ jh{CJ$aJ$)T>?lw8cY u L!"_"""xgdZ $ha$gdZgdU2' $a$gdW $ha$gd gdm\lMQRTXvwz|zrfrZrh@q"h@q"CJ$H*aJ$h@q"h@q"CJ$H*aJ$h@q"CJ$aJ$h@q"h$wCJ$H*aJ$h$wh$w5CJ$H*aJ$ jh$wh$w5CJ$aJ$h$wh$w5CJ$aJ$h$wCJ$aJ$hm\hWCJ$aJ$ jhWCJ$aJ$hMhWCJ$H*aJ$ jhWCJ$aJ$h[hWCJ$H*aJ$h CJ$aJ$hWCJ$aJ$!78ƺƯƣƛƓ|sƯjsbVhNihNiCJ$H*aJ$hNiCJ$aJ$h"?CJ$H*aJ$hi,CJ$H*aJ$ jhi,CJ$aJ$h"?hi,CJ$H*aJ$hi,CJ$aJ$hWCJ$aJ$h"?h"?CJ$H*aJ$ jh"?CJ$aJ$h@q"h"?CJ$H*aJ$h"?CJ$aJ$ jhU2'CJ$aJ$hU2'hU2'CJ$H*aJ$hU2'CJ$aJ$h@q"CJ$aJ$ jh@q"CJ$aJ$! *-;<?AbcX Y c f q s L!!{sh)CJ$aJ$hZhZ5CJ$aJ$hZCJ$H*aJ$hZhZCJ$H*aJ$hZCJ$aJ$hZhNi5CJ,aJ,hZ5CJ,aJ,h"?hNiCJ$H*aJ$h$wCJ$aJ$ jhNiCJ$aJ$hNihNiCJ$H*aJ$ jhNiCJ$aJ$hNiCJ$H*aJ$hNiCJ$aJ$)!!""Y"]"###>#?###$$$$.$O$P$u$v$$$$$$$$$$%%&%e%q%%%%%%%%%&q&&Ž{shCJ$aJ$h$CJ$aJ$hRy5hRy55CJ$aJ$ jhRy5hRy55CJ(aJ( jhRy5CJ$aJ$hRy5CJ$aJ$hd}hd}5CJ$aJ$hd}CJ$aJ$h)5CJ,aJ,hd}h)5CJ,aJ,hd}5CJ,aJ,hZCJ$aJ$h)CJ$aJ$h)h)5CJ$aJ$-"##?###$$s%&&&=''''(a((((8)gduBxgduB $ha$gduBgdRy5gdd} $ha$gdd} $a$gd) $xa$gd)&&&&&''()6)n)x))**k*l*x*y*{*}*******++1,O,𬠘ĘynbThbCJ$OJQJ^JaJ$hbhbCJ$H*aJ$hbhbCJ$aJ$hX_CJ$aJ$hohoCJ$H*aJ$ jhoCJ$aJ$hoCJ$aJ$hohuB5CJ,aJ,hoho5CJ,aJ,huBhuB5CJ$aJ$hbCJ$aJ$hz7huB5CJ$aJ$huBh5CJ,aJ,huBhuB5CJ,aJ,huBCJ$aJ$hRy5CJ$aJ$8)n))*W***+1,c,~,,,{---'.}../N0xgdYjgdYj $ha$gdYjgdYjxgd%
gdbxgdb $ha$gdogdd}gduBO,Q,b,c,},~,,,,,,,,,,,,z-{-|------...õ˜ː||pgp[p|O|hYjhYjCJ$H*aJ$hYjhYj5CJ,aJ,hYj5CJ,aJ,hohYj5CJ,aJ,hYjCJ$aJ$hX_hX_5CJ$aJ$hX_h%5CJ$aJ$hX_CJ$aJ$ h%h%CJ$OJQJ^JaJ$h%CJ$OJQJ^JaJ$hbCJ$aJ$h%CJ$aJ$ hbhbCJ$OJQJ^JaJ$hbCJ$OJQJ^JaJ$hX_CJ$OJQJ^JaJ$....//////////000000A0B0I0J0M0N0p0q0w0}000001111111····¯wogh^agCJ$aJ$h`~CJ$aJ$h65hh65hCJ$H*aJ$ jh65hCJ$aJ$hYjh65h5CJ,aJ,h65h5CJ,aJ,hoh65h5CJ,aJ,h65hCJ$aJ$ jhCJ$aJ$hCJ$aJ$hh5CJ$aJ$ jhYjCJ$aJ$hYjhYjCJ$H*aJ$hYjCJ$aJ$ jhYjCJ$aJ$(N0q000111x2223.3s33@44435c5
gd
Hgdxgdgdd} $ha$gd
gd^agxgdYjgd65h $ha$gd65hgdYj111w2222222223 3'3-3.3A3D3E3G3f3h3q3t3333?4@4~4ɸתי|sg[SShCJ$aJ$hhYj5CJ,aJ,hh5CJ,aJ,h
u5CJ,aJ,hYQe5CJ$aJ$hX_hYj5CJ$aJ$hYQeCJ$aJ$ h%hYjCJ$OJQJ^JaJ$hYQeCJ$OJQJ^JaJ$ hbhYjCJ$OJQJ^JaJ$h^agCJ$OJQJ^JaJ$hYjCJ$OJQJ^JaJ$h^agCJ$aJ$hbhYjCJ$aJ$hYjCJ$aJ$~442535Z5^5c55555 6
6C6D6f6g6666666677;7<7>7?7I7J7P7U7W7X777777777778÷÷̌h*h*5CJ$aJ$h*CJ$aJ$h
uh
u5CJ$aJ$h
uh
uCJ$H*aJ$ jh
uCJ$aJ$hh
u5CJ,aJ,h
u5CJ,aJ,hKCJ$aJ$h
uh
uCJ$H*aJ$h
uCJ$aJ$hYjCJ$aJ$hCJ$aJ$hmVCJ$aJ$.c55666
7V7789999:::;;;xgdP7
gdEe'gdEe'
HgdEe'xgdEe' $a$gdEe'gdd?hgd*hgd
u $ha$gd
ugdd}88
88888888888999999999999-:L:;;;;;;<<<X<ȿ믦wwwnbhmVhmV5CJ,aJ,hmV5CJ,aJ,hP7CJ$aJ$hmVCJ$aJ$h
uCJ$aJ$h*hd?CJ$aJ$hhEe'5CJ,aJ,hEe'5CJ,aJ,hEe'CJ$aJ$hd?CJ$aJ$h*5CJ$aJ$h*h*5CJ$aJ$h
uh*CJ$H*aJ$ jh*CJ$aJ$h*CJ$aJ$h
uh*CJ$H*aJ$";;;<Y<<<<@=W====K>>>>?G?xgd# $a$gd#gdKgd
gdxgd<9
HgdmV
xgd"wxgdmV $a$gdmVgdd}X<Y<<<<?=@=F=H=V=W==*>+>>>>>>>>>>>>>??@@@@@@@@@@@@ӿӴӨӜ됈|pppepe jh#CJ$aJ$h#h#CJ$H*aJ$hz7h#5CJ$aJ$h#CJ$aJ$h#h#5CJ,aJ,hKhK5CJ$aJ$hKhKCJ$H*aJ$ jhKCJ$aJ$h<9
CJ$aJ$h
uhKCJ$H*aJ$hKCJ$aJ$hCJ$aJ$h"wCJ$aJ$hmVCJ$aJ$hmVhP75CJ,aJ,'G????7@@@*CJ$aJ$hlqh35CJ0aJ0 jh3CJ$aJ$ jh3CJ$aJ$h!h3CJ$H*aJ$h3CJ$aJ$h!h35CJ0aJ0h35CJ0aJ0hbCJ$aJ$hCJ$aJ$h#h#CJ$H*aJ$h#CJ$aJ$)NEEEE4F9F;F=F?FAFCFEFGFIFJFPFUFrFFf$
h$Ifa$gd3
hxgd3
hgd3rFsF|FFFFFFFj\\JJJJJ$
h$Ifa$gd3
hxxgd3kd$$IfTlFL L,t"
t0644
layt3TFFFF$
h$Ifa$gd3FFkdd$$IflִrP.&,3oooooooo
t06 44
layt3FFFFFFFFFFF\kd$$IflFP3oM
t0644
layt3$
h$Ifa$gd3
FFF$
h$Ifa$gd3FFkdf$$IflִrP.&,3oooooooo
t06 44
layt3F.GQGG5HbHHHH=IIIIJEJyJJJK&KTKKKK/L
hxgd3
hgd3 $ha$gd3
hxxgd3EJyJKKKK/L7LXLcMMNNOO"O$O7O9O:O;O?OFOJOKONOSOTOUOWOXOZO\O]O^O˿hd}h3CJ$aJ$ jh3CJ$aJ$hhh3CJ$H*aJ$h3Mh35CJ$aJ$hTh35CJ0aJ0h35CJ0aJ0 jh3CJ$aJ$hTh3CJ$H*aJ$h3CJ$aJ$h=vNh35CJ0aJ0"/LXLLLL*McMjMsMMM$
h$Ifa$gd3
hgd3
hxgd3 $ha$gd3
MMMMMMWEEEE$
h$Ifa$gd3kd$$IfTl\$ xD% T@
t0644
layt3TMMMMMMWEEEE$
h$Ifa$gd3kd$$IfTl\$ xD% T@
t0644
layt3TMMMMMMWEEEE$
h$Ifa$gd3kd$$IfTl\$ xD% T@
t0644
layt3TMMCNNN OWI==1
hgd3
hxgd3
hxgd3kd$$IfTl\$ xD% T@
t0644
layt3T O^O
hgd351h0:pm\= /!"#$%$$If!v h555858585555 T#v#v#v8#v#v#v T:Vl
t65558555 Tyt3T
kd$$IfTl L HlX %L,888T
t06$$$$44
layt3T}$$If!vh555t"#v#v#vt":Vl
t6555t"yt3T$$If!vh5o5o5o5o5o5o5o5o#vo:Vl
t65oyt3y$$If!vh5o5M5#vo#vM#v:Vl
t65o5M5yt3$$If!vh5o5o5o5o5o5o5o5o#vo:Vl
t65oyt3$$If!vh5 5T5@5
#v #vT#v@#v
:Vl
t65 5T5@5
yt3T$$If!vh5 5T5@5
#v #vT#v@#v
:Vl
t65 5T5@5
yt3T$$If!vh5 5T5@5
#v #vT#v@#v
:Vl
t65 5T5@5
yt3T$$If!vh5 5T5@5
#v #vT#v@#v
:Vl
t65 5T5@5
yt3T@@@NormalCJ_HaJmH sH tH DA@DDefault Paragraph FontRi@RTable Normal4
l4a(k(No Listj`j3
Table Grid7:V0^G
HM0GJp%j f 5
Cv
N
#zEBVf~
QYT>?lw8cYuL_?s= a 8!n!!"W"""#1$c$~$$${%%%'&}&&'N(q((()))x***+.+s++@,,,3-c--...
/V//011112223333;4Y4444@5W5555K66667G77777888<99:+::.;h;;;;;<V<<<=N====4>9>;>=>?>A>C>E>G>I>J>P>U>r>s>|>>>>>>>>>>>>>>>>>>>>>>>>.?Q??5@b@@@@=AAAABEByBBBC&CTCCCC/DXDDDD*EcEjEsEEEEEEEEEEEEEEEEEEECFFF G`G0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@00000000000000000000000000000000000@00@00000000000000000000000@0000000000000000000000000000000000000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00@0@0@0@0@0@0@0@0@0@0@0@000000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000T
CDl!&O,.1~48X<@EJ^O(+,./0245679;<>?ACEN"8)N0c5;G?NErFFFFFFF/LMMMM O^O)-138:=@BDFGHIJKLMOPQRST^O*;;;̶;t;;t&,`G/`GB*urn:schemas-microsoft-com:office:smarttagscountry-region9*urn:schemas-microsoft-com:office:smarttagsplace4لZ^
g%k%l%p%q%u%7D@D`G9J' ) %Pw}56su$$ +-+--////11!62677778888s:t:::j;;;;;;)B+B0DWDD)E`G3333333333333333333333333333333333333(//114>|>>>0DWDcEE G]G`G7D@D`GHGM (p<9
[X#@q"%U2'Ee'J)i,24Ry5X46P7"?YDzJMTmVCZm\B_`;8bYQe^ag5&h65hNiL#l0p
u"w\~FZd?)z73*n`~$WuBK$wb0X_-j{d}CXboq2RYj.4>9>;>=>?>A>C>E>G>I>J>P>U>r>s>>>>>>>>>>>>>>>>>>>>>>>>cEjEsEEEEEEEEEEEEEEEEEEE`G@7D7Do07D7D^G`@UnknownGz Times New Roman5Symbol3&z Arial?5 z Courier New"qhv&Ѧ=
<$
<$#24:G:G 2HX)?m\2Floating Point NumbersEdward L. Bosworth, Ph.D.Edward L. Bosworth, Ph.D.Oh+'0 8D
dp
|Floating Point NumbersEdward L. Bosworth, Ph.D.Normal.dotEdward L. Bosworth, Ph.D.61Microsoft Office Word@J&@|t-@Tx}
<՜.+,0hp
Columbus State University$:G'Floating Point NumbersTitle
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]_`abcdefghijklmnopqrstuvwxy{|}~Root Entry F%}Data
V1Table^z7WordDocument7SummaryInformation(zDocumentSummaryInformation8CompObjq
FMicrosoft Office Word Document
MSWordDocWord.Document.89q