Normalize the number .431. using a IEEE style float format. 1 bit sign, 7 bit exponent, 16 bit significand (real 1,8,23 format makes math difficult) First convert to binary. We need to go at least 16 places past the most significant 1 . .431 0 .862 1 .724 # start counting here. 1 .448 0 .896 1 .793 1 .586 1 .172 0 .344 0 .688 1 .376 0 .752 1 .504 1 .008 0 .016 0 .032 0 .064 0 .128 0 .256 # we have 16 digits past the most signficant 1. ... .0110 1110 0101 1000 00 Represent in the equivalent of scientific notation,. 1.10 1110 0101 1000 00 * 2^-2 * We left the exponent in decimal because we haven't added the bias yet. In standard scientific notation: Integer has range from 1 - 9 and and one digit must be preserved in the integer portion of the scientific representation. However in binary form, only possible value is 1 and can be implied. So only decimal fraction portion needs to be stored. .1011100101100000 This is called the significand and allows for 1 extra digit of precission. With 16 bit precision, a very close approximation can be found. Generating a IEEE 754 bias. Because values can be greater or less than 1 Exponent must represent both positive and negative values. Problem: an exponent of zero used to flag special conditions. Solution: shift (bias) representation of zero exponent up the number line. Using single precision float with 7 bit exponent. Giving a range of 0 to 127 that should represent a signed exponent. Need to reserve 0 and 127 (1111111b) as flag values. Giving a number range between 1 and 126 to represent an exponent. That represents an exponent in the range of -63 to 62. Shift representation of exponent 0 to middle of range. Use formula 2^(n-1) - 1 where n is the size of the exponent. For our example using 7 bit exponent, calculate bias 2^(7-1)-1 = 63 bias Recall that we converted the original value to a binary form of scientific notation. 1.10 1110 0101 1000 00 * 2^-2 So, our exponent is -2. Biasing this exponent give : 63 - 2 = 61 = 011 1101 Finally, we need to record the sign of the whole value .431 is positive. Sign bit 0 (positive) Biased Exponent 011 1101 Signficand 1011 1001 0110 0000 Floating point 0 0111101 1011100101100000