32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 230 584 300 899 999 991 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 230 584 300 899 999 991(10) converted and written in 32 bit single precision IEEE 754 binary floating point representation (1 bit for sign, 8 bits for exponent, 23 bits for mantissa)

1. Divide the number repeatedly by 2.

Keep track of each remainder.

We stop when we get a quotient that is equal to zero.


  • division = quotient + remainder;
  • 230 584 300 899 999 991 ÷ 2 = 115 292 150 449 999 995 + 1;
  • 115 292 150 449 999 995 ÷ 2 = 57 646 075 224 999 997 + 1;
  • 57 646 075 224 999 997 ÷ 2 = 28 823 037 612 499 998 + 1;
  • 28 823 037 612 499 998 ÷ 2 = 14 411 518 806 249 999 + 0;
  • 14 411 518 806 249 999 ÷ 2 = 7 205 759 403 124 999 + 1;
  • 7 205 759 403 124 999 ÷ 2 = 3 602 879 701 562 499 + 1;
  • 3 602 879 701 562 499 ÷ 2 = 1 801 439 850 781 249 + 1;
  • 1 801 439 850 781 249 ÷ 2 = 900 719 925 390 624 + 1;
  • 900 719 925 390 624 ÷ 2 = 450 359 962 695 312 + 0;
  • 450 359 962 695 312 ÷ 2 = 225 179 981 347 656 + 0;
  • 225 179 981 347 656 ÷ 2 = 112 589 990 673 828 + 0;
  • 112 589 990 673 828 ÷ 2 = 56 294 995 336 914 + 0;
  • 56 294 995 336 914 ÷ 2 = 28 147 497 668 457 + 0;
  • 28 147 497 668 457 ÷ 2 = 14 073 748 834 228 + 1;
  • 14 073 748 834 228 ÷ 2 = 7 036 874 417 114 + 0;
  • 7 036 874 417 114 ÷ 2 = 3 518 437 208 557 + 0;
  • 3 518 437 208 557 ÷ 2 = 1 759 218 604 278 + 1;
  • 1 759 218 604 278 ÷ 2 = 879 609 302 139 + 0;
  • 879 609 302 139 ÷ 2 = 439 804 651 069 + 1;
  • 439 804 651 069 ÷ 2 = 219 902 325 534 + 1;
  • 219 902 325 534 ÷ 2 = 109 951 162 767 + 0;
  • 109 951 162 767 ÷ 2 = 54 975 581 383 + 1;
  • 54 975 581 383 ÷ 2 = 27 487 790 691 + 1;
  • 27 487 790 691 ÷ 2 = 13 743 895 345 + 1;
  • 13 743 895 345 ÷ 2 = 6 871 947 672 + 1;
  • 6 871 947 672 ÷ 2 = 3 435 973 836 + 0;
  • 3 435 973 836 ÷ 2 = 1 717 986 918 + 0;
  • 1 717 986 918 ÷ 2 = 858 993 459 + 0;
  • 858 993 459 ÷ 2 = 429 496 729 + 1;
  • 429 496 729 ÷ 2 = 214 748 364 + 1;
  • 214 748 364 ÷ 2 = 107 374 182 + 0;
  • 107 374 182 ÷ 2 = 53 687 091 + 0;
  • 53 687 091 ÷ 2 = 26 843 545 + 1;
  • 26 843 545 ÷ 2 = 13 421 772 + 1;
  • 13 421 772 ÷ 2 = 6 710 886 + 0;
  • 6 710 886 ÷ 2 = 3 355 443 + 0;
  • 3 355 443 ÷ 2 = 1 677 721 + 1;
  • 1 677 721 ÷ 2 = 838 860 + 1;
  • 838 860 ÷ 2 = 419 430 + 0;
  • 419 430 ÷ 2 = 209 715 + 0;
  • 209 715 ÷ 2 = 104 857 + 1;
  • 104 857 ÷ 2 = 52 428 + 1;
  • 52 428 ÷ 2 = 26 214 + 0;
  • 26 214 ÷ 2 = 13 107 + 0;
  • 13 107 ÷ 2 = 6 553 + 1;
  • 6 553 ÷ 2 = 3 276 + 1;
  • 3 276 ÷ 2 = 1 638 + 0;
  • 1 638 ÷ 2 = 819 + 0;
  • 819 ÷ 2 = 409 + 1;
  • 409 ÷ 2 = 204 + 1;
  • 204 ÷ 2 = 102 + 0;
  • 102 ÷ 2 = 51 + 0;
  • 51 ÷ 2 = 25 + 1;
  • 25 ÷ 2 = 12 + 1;
  • 12 ÷ 2 = 6 + 0;
  • 6 ÷ 2 = 3 + 0;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

2. Construct the base 2 representation of the positive number.

Take all the remainders starting from the bottom of the list constructed above.


230 584 300 899 999 991(10) =


11 0011 0011 0011 0011 0011 0011 0011 0001 1110 1101 0010 0000 1111 0111(2)


3. Normalize the binary representation of the number.

Shift the decimal mark 57 positions to the left, so that only one non zero digit remains to the left of it:


230 584 300 899 999 991(10) =


11 0011 0011 0011 0011 0011 0011 0011 0001 1110 1101 0010 0000 1111 0111(2) =


11 0011 0011 0011 0011 0011 0011 0011 0001 1110 1101 0010 0000 1111 0111(2) × 20 =


1.1001 1001 1001 1001 1001 1001 1001 1000 1111 0110 1001 0000 0111 1011 1(2) × 257


4. Up to this moment, there are the following elements that would feed into the 32 bit single precision IEEE 754 binary floating point representation:

Sign 0 (a positive number)


Exponent (unadjusted): 57


Mantissa (not normalized):
1.1001 1001 1001 1001 1001 1001 1001 1000 1111 0110 1001 0000 0111 1011 1


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


Exponent (unadjusted) + 2(8-1) - 1 =


57 + 2(8-1) - 1 =


(57 + 127)(10) =


184(10)


6. Convert the adjusted exponent from the decimal (base 10) to 8 bit binary.

Use the same technique of repeatedly dividing by 2:


  • division = quotient + remainder;
  • 184 ÷ 2 = 92 + 0;
  • 92 ÷ 2 = 46 + 0;
  • 46 ÷ 2 = 23 + 0;
  • 23 ÷ 2 = 11 + 1;
  • 11 ÷ 2 = 5 + 1;
  • 5 ÷ 2 = 2 + 1;
  • 2 ÷ 2 = 1 + 0;
  • 1 ÷ 2 = 0 + 1;

7. Construct the base 2 representation of the adjusted exponent.

Take all the remainders starting from the bottom of the list constructed above.


Exponent (adjusted) =


184(10) =


1011 1000(2)


8. Normalize the mantissa.

a) Remove the leading (the leftmost) bit, since it's allways 1, and the decimal point, if the case.


b) Adjust its length to 23 bits, by removing the excess bits, from the right (if any of the excess bits is set on 1, we are losing precision...).


Mantissa (normalized) =


1. 100 1100 1100 1100 1100 1100 11 0011 0001 1110 1101 0010 0000 1111 0111 =


100 1100 1100 1100 1100 1100


9. The three elements that make up the number's 32 bit single precision IEEE 754 binary floating point representation:

Sign (1 bit) =
0 (a positive number)


Exponent (8 bits) =
1011 1000


Mantissa (23 bits) =
100 1100 1100 1100 1100 1100


The base ten decimal number 230 584 300 899 999 991 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1011 1000 - 100 1100 1100 1100 1100 1100

The latest decimal numbers converted from base ten to 32 bit single precision IEEE 754 floating point binary standard representation