32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 1 000 111 101 101 001 000 099 999 999 917 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 1 000 111 101 101 001 000 099 999 999 917(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;
  • 1 000 111 101 101 001 000 099 999 999 917 ÷ 2 = 500 055 550 550 500 500 049 999 999 958 + 1;
  • 500 055 550 550 500 500 049 999 999 958 ÷ 2 = 250 027 775 275 250 250 024 999 999 979 + 0;
  • 250 027 775 275 250 250 024 999 999 979 ÷ 2 = 125 013 887 637 625 125 012 499 999 989 + 1;
  • 125 013 887 637 625 125 012 499 999 989 ÷ 2 = 62 506 943 818 812 562 506 249 999 994 + 1;
  • 62 506 943 818 812 562 506 249 999 994 ÷ 2 = 31 253 471 909 406 281 253 124 999 997 + 0;
  • 31 253 471 909 406 281 253 124 999 997 ÷ 2 = 15 626 735 954 703 140 626 562 499 998 + 1;
  • 15 626 735 954 703 140 626 562 499 998 ÷ 2 = 7 813 367 977 351 570 313 281 249 999 + 0;
  • 7 813 367 977 351 570 313 281 249 999 ÷ 2 = 3 906 683 988 675 785 156 640 624 999 + 1;
  • 3 906 683 988 675 785 156 640 624 999 ÷ 2 = 1 953 341 994 337 892 578 320 312 499 + 1;
  • 1 953 341 994 337 892 578 320 312 499 ÷ 2 = 976 670 997 168 946 289 160 156 249 + 1;
  • 976 670 997 168 946 289 160 156 249 ÷ 2 = 488 335 498 584 473 144 580 078 124 + 1;
  • 488 335 498 584 473 144 580 078 124 ÷ 2 = 244 167 749 292 236 572 290 039 062 + 0;
  • 244 167 749 292 236 572 290 039 062 ÷ 2 = 122 083 874 646 118 286 145 019 531 + 0;
  • 122 083 874 646 118 286 145 019 531 ÷ 2 = 61 041 937 323 059 143 072 509 765 + 1;
  • 61 041 937 323 059 143 072 509 765 ÷ 2 = 30 520 968 661 529 571 536 254 882 + 1;
  • 30 520 968 661 529 571 536 254 882 ÷ 2 = 15 260 484 330 764 785 768 127 441 + 0;
  • 15 260 484 330 764 785 768 127 441 ÷ 2 = 7 630 242 165 382 392 884 063 720 + 1;
  • 7 630 242 165 382 392 884 063 720 ÷ 2 = 3 815 121 082 691 196 442 031 860 + 0;
  • 3 815 121 082 691 196 442 031 860 ÷ 2 = 1 907 560 541 345 598 221 015 930 + 0;
  • 1 907 560 541 345 598 221 015 930 ÷ 2 = 953 780 270 672 799 110 507 965 + 0;
  • 953 780 270 672 799 110 507 965 ÷ 2 = 476 890 135 336 399 555 253 982 + 1;
  • 476 890 135 336 399 555 253 982 ÷ 2 = 238 445 067 668 199 777 626 991 + 0;
  • 238 445 067 668 199 777 626 991 ÷ 2 = 119 222 533 834 099 888 813 495 + 1;
  • 119 222 533 834 099 888 813 495 ÷ 2 = 59 611 266 917 049 944 406 747 + 1;
  • 59 611 266 917 049 944 406 747 ÷ 2 = 29 805 633 458 524 972 203 373 + 1;
  • 29 805 633 458 524 972 203 373 ÷ 2 = 14 902 816 729 262 486 101 686 + 1;
  • 14 902 816 729 262 486 101 686 ÷ 2 = 7 451 408 364 631 243 050 843 + 0;
  • 7 451 408 364 631 243 050 843 ÷ 2 = 3 725 704 182 315 621 525 421 + 1;
  • 3 725 704 182 315 621 525 421 ÷ 2 = 1 862 852 091 157 810 762 710 + 1;
  • 1 862 852 091 157 810 762 710 ÷ 2 = 931 426 045 578 905 381 355 + 0;
  • 931 426 045 578 905 381 355 ÷ 2 = 465 713 022 789 452 690 677 + 1;
  • 465 713 022 789 452 690 677 ÷ 2 = 232 856 511 394 726 345 338 + 1;
  • 232 856 511 394 726 345 338 ÷ 2 = 116 428 255 697 363 172 669 + 0;
  • 116 428 255 697 363 172 669 ÷ 2 = 58 214 127 848 681 586 334 + 1;
  • 58 214 127 848 681 586 334 ÷ 2 = 29 107 063 924 340 793 167 + 0;
  • 29 107 063 924 340 793 167 ÷ 2 = 14 553 531 962 170 396 583 + 1;
  • 14 553 531 962 170 396 583 ÷ 2 = 7 276 765 981 085 198 291 + 1;
  • 7 276 765 981 085 198 291 ÷ 2 = 3 638 382 990 542 599 145 + 1;
  • 3 638 382 990 542 599 145 ÷ 2 = 1 819 191 495 271 299 572 + 1;
  • 1 819 191 495 271 299 572 ÷ 2 = 909 595 747 635 649 786 + 0;
  • 909 595 747 635 649 786 ÷ 2 = 454 797 873 817 824 893 + 0;
  • 454 797 873 817 824 893 ÷ 2 = 227 398 936 908 912 446 + 1;
  • 227 398 936 908 912 446 ÷ 2 = 113 699 468 454 456 223 + 0;
  • 113 699 468 454 456 223 ÷ 2 = 56 849 734 227 228 111 + 1;
  • 56 849 734 227 228 111 ÷ 2 = 28 424 867 113 614 055 + 1;
  • 28 424 867 113 614 055 ÷ 2 = 14 212 433 556 807 027 + 1;
  • 14 212 433 556 807 027 ÷ 2 = 7 106 216 778 403 513 + 1;
  • 7 106 216 778 403 513 ÷ 2 = 3 553 108 389 201 756 + 1;
  • 3 553 108 389 201 756 ÷ 2 = 1 776 554 194 600 878 + 0;
  • 1 776 554 194 600 878 ÷ 2 = 888 277 097 300 439 + 0;
  • 888 277 097 300 439 ÷ 2 = 444 138 548 650 219 + 1;
  • 444 138 548 650 219 ÷ 2 = 222 069 274 325 109 + 1;
  • 222 069 274 325 109 ÷ 2 = 111 034 637 162 554 + 1;
  • 111 034 637 162 554 ÷ 2 = 55 517 318 581 277 + 0;
  • 55 517 318 581 277 ÷ 2 = 27 758 659 290 638 + 1;
  • 27 758 659 290 638 ÷ 2 = 13 879 329 645 319 + 0;
  • 13 879 329 645 319 ÷ 2 = 6 939 664 822 659 + 1;
  • 6 939 664 822 659 ÷ 2 = 3 469 832 411 329 + 1;
  • 3 469 832 411 329 ÷ 2 = 1 734 916 205 664 + 1;
  • 1 734 916 205 664 ÷ 2 = 867 458 102 832 + 0;
  • 867 458 102 832 ÷ 2 = 433 729 051 416 + 0;
  • 433 729 051 416 ÷ 2 = 216 864 525 708 + 0;
  • 216 864 525 708 ÷ 2 = 108 432 262 854 + 0;
  • 108 432 262 854 ÷ 2 = 54 216 131 427 + 0;
  • 54 216 131 427 ÷ 2 = 27 108 065 713 + 1;
  • 27 108 065 713 ÷ 2 = 13 554 032 856 + 1;
  • 13 554 032 856 ÷ 2 = 6 777 016 428 + 0;
  • 6 777 016 428 ÷ 2 = 3 388 508 214 + 0;
  • 3 388 508 214 ÷ 2 = 1 694 254 107 + 0;
  • 1 694 254 107 ÷ 2 = 847 127 053 + 1;
  • 847 127 053 ÷ 2 = 423 563 526 + 1;
  • 423 563 526 ÷ 2 = 211 781 763 + 0;
  • 211 781 763 ÷ 2 = 105 890 881 + 1;
  • 105 890 881 ÷ 2 = 52 945 440 + 1;
  • 52 945 440 ÷ 2 = 26 472 720 + 0;
  • 26 472 720 ÷ 2 = 13 236 360 + 0;
  • 13 236 360 ÷ 2 = 6 618 180 + 0;
  • 6 618 180 ÷ 2 = 3 309 090 + 0;
  • 3 309 090 ÷ 2 = 1 654 545 + 0;
  • 1 654 545 ÷ 2 = 827 272 + 1;
  • 827 272 ÷ 2 = 413 636 + 0;
  • 413 636 ÷ 2 = 206 818 + 0;
  • 206 818 ÷ 2 = 103 409 + 0;
  • 103 409 ÷ 2 = 51 704 + 1;
  • 51 704 ÷ 2 = 25 852 + 0;
  • 25 852 ÷ 2 = 12 926 + 0;
  • 12 926 ÷ 2 = 6 463 + 0;
  • 6 463 ÷ 2 = 3 231 + 1;
  • 3 231 ÷ 2 = 1 615 + 1;
  • 1 615 ÷ 2 = 807 + 1;
  • 807 ÷ 2 = 403 + 1;
  • 403 ÷ 2 = 201 + 1;
  • 201 ÷ 2 = 100 + 1;
  • 100 ÷ 2 = 50 + 0;
  • 50 ÷ 2 = 25 + 0;
  • 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.


1 000 111 101 101 001 000 099 999 999 917(10) =


1100 1001 1111 1000 1000 1000 0011 0110 0011 0000 0111 0101 1100 1111 1010 0111 1010 1101 1011 1101 0001 0110 0111 1010 1101(2)


3. Normalize the binary representation of the number.

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


1 000 111 101 101 001 000 099 999 999 917(10) =


1100 1001 1111 1000 1000 1000 0011 0110 0011 0000 0111 0101 1100 1111 1010 0111 1010 1101 1011 1101 0001 0110 0111 1010 1101(2) =


1100 1001 1111 1000 1000 1000 0011 0110 0011 0000 0111 0101 1100 1111 1010 0111 1010 1101 1011 1101 0001 0110 0111 1010 1101(2) × 20 =


1.1001 0011 1111 0001 0001 0000 0110 1100 0110 0000 1110 1011 1001 1111 0100 1111 0101 1011 0111 1010 0010 1100 1111 0101 101(2) × 299


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): 99


Mantissa (not normalized):
1.1001 0011 1111 0001 0001 0000 0110 1100 0110 0000 1110 1011 1001 1111 0100 1111 0101 1011 0111 1010 0010 1100 1111 0101 101


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


99 + 2(8-1) - 1 =


(99 + 127)(10) =


226(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;
  • 226 ÷ 2 = 113 + 0;
  • 113 ÷ 2 = 56 + 1;
  • 56 ÷ 2 = 28 + 0;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 7 ÷ 2 = 3 + 1;
  • 3 ÷ 2 = 1 + 1;
  • 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) =


226(10) =


1110 0010(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 1001 1111 1000 1000 1000 0011 0110 0011 0000 0111 0101 1100 1111 1010 0111 1010 1101 1011 1101 0001 0110 0111 1010 1101 =


100 1001 1111 1000 1000 1000


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) =
1110 0010


Mantissa (23 bits) =
100 1001 1111 1000 1000 1000


The base ten decimal number 1 000 111 101 101 001 000 099 999 999 917 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0010 - 100 1001 1111 1000 1000 1000

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

Number 0.095 705 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:54 UTC (GMT)
Number -4.842 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:54 UTC (GMT)
Number 0.049 999 952 316 284 177 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:54 UTC (GMT)
Number -1 051 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:54 UTC (GMT)
Number -585 340 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:54 UTC (GMT)
Number 0.000 001 907 348 632 89 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:54 UTC (GMT)
Number -87.128 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:53 UTC (GMT)
Number 798.7 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:53 UTC (GMT)
Number -78 398 495 187 498 172 415.937 499 880 790 710 445 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:53 UTC (GMT)
Number -48.17 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 00:53 UTC (GMT)
All base ten decimal numbers converted to 32 bit single precision IEEE 754 binary floating point

How to convert decimal numbers from base ten to 32 bit single precision IEEE 754 binary floating point standard

Follow the steps below to convert a base 10 decimal number to 32 bit single precision IEEE 754 binary floating point:

  • 1. If the number to be converted is negative, start with its the positive version.
  • 2. First convert the integer part. Divide repeatedly by 2 the base ten positive representation of the integer number that is to be converted to binary, until we get a quotient that is equal to zero, keeping track of each remainder.
  • 3. Construct the base 2 representation of the positive integer part of the number, by taking all the remainders of the previous dividing operations, starting from the bottom of the list constructed above. Thus, the last remainder of the divisions becomes the first symbol (the leftmost) of the base two number, while the first remainder becomes the last symbol (the rightmost).
  • 4. Then convert the fractional part. Multiply the number repeatedly by 2, until we get a fractional part that is equal to zero, keeping track of each integer part of the results.
  • 5. Construct the base 2 representation of the fractional part of the number by taking all the integer parts of the previous multiplying operations, starting from the top of the constructed list above (they should appear in the binary representation, from left to right, in the order they have been calculated).
  • 6. Normalize the binary representation of the number, by shifting the decimal point (or if you prefer, the decimal mark) "n" positions either to the left or to the right, so that only one non zero digit remains to the left of the decimal point.
  • 7. Adjust the exponent in 8 bit excess/bias notation and then convert it from decimal (base 10) to 8 bit binary, by using the same technique of repeatedly dividing by 2, as shown above:
    Exponent (adjusted) = Exponent (unadjusted) + 2(8-1) - 1
  • 8. Normalize mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal sign if the case) and adjust its length to 23 bits, either by removing the excess bits from the right (losing precision...) or by adding extra '0' bits to the right.
  • 9. Sign (it takes 1 bit) is either 1 for a negative or 0 for a positive number.

Example: convert the negative number -25.347 from decimal system (base ten) to 32 bit single precision IEEE 754 binary floating point:

  • 1. Start with the positive version of the number:

    |-25.347| = 25.347

  • 2. First convert the integer part, 25. Divide it repeatedly by 2, keeping track of each remainder, until we get a quotient that is equal to zero:
    • division = quotient + remainder;
    • 25 ÷ 2 = 12 + 1;
    • 12 ÷ 2 = 6 + 0;
    • 6 ÷ 2 = 3 + 0;
    • 3 ÷ 2 = 1 + 1;
    • 1 ÷ 2 = 0 + 1;
    • We have encountered a quotient that is ZERO => FULL STOP
  • 3. Construct the base 2 representation of the integer part of the number by taking all the remainders of the previous dividing operations, starting from the bottom of the list constructed above:

    25(10) = 1 1001(2)

  • 4. Then convert the fractional part, 0.347. Multiply repeatedly by 2, keeping track of each integer part of the results, until we get a fractional part that is equal to zero:
    • #) multiplying = integer + fractional part;
    • 1) 0.347 × 2 = 0 + 0.694;
    • 2) 0.694 × 2 = 1 + 0.388;
    • 3) 0.388 × 2 = 0 + 0.776;
    • 4) 0.776 × 2 = 1 + 0.552;
    • 5) 0.552 × 2 = 1 + 0.104;
    • 6) 0.104 × 2 = 0 + 0.208;
    • 7) 0.208 × 2 = 0 + 0.416;
    • 8) 0.416 × 2 = 0 + 0.832;
    • 9) 0.832 × 2 = 1 + 0.664;
    • 10) 0.664 × 2 = 1 + 0.328;
    • 11) 0.328 × 2 = 0 + 0.656;
    • 12) 0.656 × 2 = 1 + 0.312;
    • 13) 0.312 × 2 = 0 + 0.624;
    • 14) 0.624 × 2 = 1 + 0.248;
    • 15) 0.248 × 2 = 0 + 0.496;
    • 16) 0.496 × 2 = 0 + 0.992;
    • 17) 0.992 × 2 = 1 + 0.984;
    • 18) 0.984 × 2 = 1 + 0.968;
    • 19) 0.968 × 2 = 1 + 0.936;
    • 20) 0.936 × 2 = 1 + 0.872;
    • 21) 0.872 × 2 = 1 + 0.744;
    • 22) 0.744 × 2 = 1 + 0.488;
    • 23) 0.488 × 2 = 0 + 0.976;
    • 24) 0.976 × 2 = 1 + 0.952;
    • We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit = 23) and at least one integer part that was different from zero => FULL STOP (losing precision...).
  • 5. Construct the base 2 representation of the fractional part of the number, by taking all the integer parts of the previous multiplying operations, starting from the top of the constructed list above:

    0.347(10) = 0.0101 1000 1101 0100 1111 1101(2)

  • 6. Summarizing - the positive number before normalization:

    25.347(10) = 1 1001.0101 1000 1101 0100 1111 1101(2)

  • 7. Normalize the binary representation of the number, shifting the decimal point 4 positions to the left so that only one non-zero digit stays to the left of the decimal point:

    25.347(10) =
    1 1001.0101 1000 1101 0100 1111 1101(2) =
    1 1001.0101 1000 1101 0100 1111 1101(2) × 20 =
    1.1001 0101 1000 1101 0100 1111 1101(2) × 24

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

    Sign: 1 (a negative number)

    Exponent (unadjusted): 4

    Mantissa (not-normalized): 1.1001 0101 1000 1101 0100 1111 1101

  • 9. Adjust the exponent in 8 bit excess/bias notation and then convert it from decimal (base 10) to 8 bit binary (base 2), by using the same technique of repeatedly dividing it by 2, as already demonstrated above:

    Exponent (adjusted) = Exponent (unadjusted) + 2(8-1) - 1 = (4 + 127)(10) = 131(10) =
    1000 0011(2)

  • 10. Normalize the mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal point) and adjust its length to 23 bits, by removing the excess bits from the right (losing precision...):

    Mantissa (not-normalized): 1.1001 0101 1000 1101 0100 1111 1101

    Mantissa (normalized): 100 1010 1100 0110 1010 0111

  • Conclusion:

    Sign (1 bit) = 1 (a negative number)

    Exponent (8 bits) = 1000 0011

    Mantissa (23 bits) = 100 1010 1100 0110 1010 0111

  • Number -25.347, converted from the decimal system (base 10) to 32 bit single precision IEEE 754 binary floating point =
    1 - 1000 0011 - 100 1010 1100 0110 1010 0111