1 001 111 110 765 611 112 342 342 340 012 298 632 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 1 001 111 110 765 611 112 342 342 340 012 298 632(10) to 32 bit single precision IEEE 754 binary floating point representation standard (1 bit for sign, 8 bits for exponent, 23 bits for mantissa)

What are the steps to convert decimal number
1 001 111 110 765 611 112 342 342 340 012 298 632(10) to 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 001 111 110 765 611 112 342 342 340 012 298 632 ÷ 2 = 500 555 555 382 805 556 171 171 170 006 149 316 + 0;
  • 500 555 555 382 805 556 171 171 170 006 149 316 ÷ 2 = 250 277 777 691 402 778 085 585 585 003 074 658 + 0;
  • 250 277 777 691 402 778 085 585 585 003 074 658 ÷ 2 = 125 138 888 845 701 389 042 792 792 501 537 329 + 0;
  • 125 138 888 845 701 389 042 792 792 501 537 329 ÷ 2 = 62 569 444 422 850 694 521 396 396 250 768 664 + 1;
  • 62 569 444 422 850 694 521 396 396 250 768 664 ÷ 2 = 31 284 722 211 425 347 260 698 198 125 384 332 + 0;
  • 31 284 722 211 425 347 260 698 198 125 384 332 ÷ 2 = 15 642 361 105 712 673 630 349 099 062 692 166 + 0;
  • 15 642 361 105 712 673 630 349 099 062 692 166 ÷ 2 = 7 821 180 552 856 336 815 174 549 531 346 083 + 0;
  • 7 821 180 552 856 336 815 174 549 531 346 083 ÷ 2 = 3 910 590 276 428 168 407 587 274 765 673 041 + 1;
  • 3 910 590 276 428 168 407 587 274 765 673 041 ÷ 2 = 1 955 295 138 214 084 203 793 637 382 836 520 + 1;
  • 1 955 295 138 214 084 203 793 637 382 836 520 ÷ 2 = 977 647 569 107 042 101 896 818 691 418 260 + 0;
  • 977 647 569 107 042 101 896 818 691 418 260 ÷ 2 = 488 823 784 553 521 050 948 409 345 709 130 + 0;
  • 488 823 784 553 521 050 948 409 345 709 130 ÷ 2 = 244 411 892 276 760 525 474 204 672 854 565 + 0;
  • 244 411 892 276 760 525 474 204 672 854 565 ÷ 2 = 122 205 946 138 380 262 737 102 336 427 282 + 1;
  • 122 205 946 138 380 262 737 102 336 427 282 ÷ 2 = 61 102 973 069 190 131 368 551 168 213 641 + 0;
  • 61 102 973 069 190 131 368 551 168 213 641 ÷ 2 = 30 551 486 534 595 065 684 275 584 106 820 + 1;
  • 30 551 486 534 595 065 684 275 584 106 820 ÷ 2 = 15 275 743 267 297 532 842 137 792 053 410 + 0;
  • 15 275 743 267 297 532 842 137 792 053 410 ÷ 2 = 7 637 871 633 648 766 421 068 896 026 705 + 0;
  • 7 637 871 633 648 766 421 068 896 026 705 ÷ 2 = 3 818 935 816 824 383 210 534 448 013 352 + 1;
  • 3 818 935 816 824 383 210 534 448 013 352 ÷ 2 = 1 909 467 908 412 191 605 267 224 006 676 + 0;
  • 1 909 467 908 412 191 605 267 224 006 676 ÷ 2 = 954 733 954 206 095 802 633 612 003 338 + 0;
  • 954 733 954 206 095 802 633 612 003 338 ÷ 2 = 477 366 977 103 047 901 316 806 001 669 + 0;
  • 477 366 977 103 047 901 316 806 001 669 ÷ 2 = 238 683 488 551 523 950 658 403 000 834 + 1;
  • 238 683 488 551 523 950 658 403 000 834 ÷ 2 = 119 341 744 275 761 975 329 201 500 417 + 0;
  • 119 341 744 275 761 975 329 201 500 417 ÷ 2 = 59 670 872 137 880 987 664 600 750 208 + 1;
  • 59 670 872 137 880 987 664 600 750 208 ÷ 2 = 29 835 436 068 940 493 832 300 375 104 + 0;
  • 29 835 436 068 940 493 832 300 375 104 ÷ 2 = 14 917 718 034 470 246 916 150 187 552 + 0;
  • 14 917 718 034 470 246 916 150 187 552 ÷ 2 = 7 458 859 017 235 123 458 075 093 776 + 0;
  • 7 458 859 017 235 123 458 075 093 776 ÷ 2 = 3 729 429 508 617 561 729 037 546 888 + 0;
  • 3 729 429 508 617 561 729 037 546 888 ÷ 2 = 1 864 714 754 308 780 864 518 773 444 + 0;
  • 1 864 714 754 308 780 864 518 773 444 ÷ 2 = 932 357 377 154 390 432 259 386 722 + 0;
  • 932 357 377 154 390 432 259 386 722 ÷ 2 = 466 178 688 577 195 216 129 693 361 + 0;
  • 466 178 688 577 195 216 129 693 361 ÷ 2 = 233 089 344 288 597 608 064 846 680 + 1;
  • 233 089 344 288 597 608 064 846 680 ÷ 2 = 116 544 672 144 298 804 032 423 340 + 0;
  • 116 544 672 144 298 804 032 423 340 ÷ 2 = 58 272 336 072 149 402 016 211 670 + 0;
  • 58 272 336 072 149 402 016 211 670 ÷ 2 = 29 136 168 036 074 701 008 105 835 + 0;
  • 29 136 168 036 074 701 008 105 835 ÷ 2 = 14 568 084 018 037 350 504 052 917 + 1;
  • 14 568 084 018 037 350 504 052 917 ÷ 2 = 7 284 042 009 018 675 252 026 458 + 1;
  • 7 284 042 009 018 675 252 026 458 ÷ 2 = 3 642 021 004 509 337 626 013 229 + 0;
  • 3 642 021 004 509 337 626 013 229 ÷ 2 = 1 821 010 502 254 668 813 006 614 + 1;
  • 1 821 010 502 254 668 813 006 614 ÷ 2 = 910 505 251 127 334 406 503 307 + 0;
  • 910 505 251 127 334 406 503 307 ÷ 2 = 455 252 625 563 667 203 251 653 + 1;
  • 455 252 625 563 667 203 251 653 ÷ 2 = 227 626 312 781 833 601 625 826 + 1;
  • 227 626 312 781 833 601 625 826 ÷ 2 = 113 813 156 390 916 800 812 913 + 0;
  • 113 813 156 390 916 800 812 913 ÷ 2 = 56 906 578 195 458 400 406 456 + 1;
  • 56 906 578 195 458 400 406 456 ÷ 2 = 28 453 289 097 729 200 203 228 + 0;
  • 28 453 289 097 729 200 203 228 ÷ 2 = 14 226 644 548 864 600 101 614 + 0;
  • 14 226 644 548 864 600 101 614 ÷ 2 = 7 113 322 274 432 300 050 807 + 0;
  • 7 113 322 274 432 300 050 807 ÷ 2 = 3 556 661 137 216 150 025 403 + 1;
  • 3 556 661 137 216 150 025 403 ÷ 2 = 1 778 330 568 608 075 012 701 + 1;
  • 1 778 330 568 608 075 012 701 ÷ 2 = 889 165 284 304 037 506 350 + 1;
  • 889 165 284 304 037 506 350 ÷ 2 = 444 582 642 152 018 753 175 + 0;
  • 444 582 642 152 018 753 175 ÷ 2 = 222 291 321 076 009 376 587 + 1;
  • 222 291 321 076 009 376 587 ÷ 2 = 111 145 660 538 004 688 293 + 1;
  • 111 145 660 538 004 688 293 ÷ 2 = 55 572 830 269 002 344 146 + 1;
  • 55 572 830 269 002 344 146 ÷ 2 = 27 786 415 134 501 172 073 + 0;
  • 27 786 415 134 501 172 073 ÷ 2 = 13 893 207 567 250 586 036 + 1;
  • 13 893 207 567 250 586 036 ÷ 2 = 6 946 603 783 625 293 018 + 0;
  • 6 946 603 783 625 293 018 ÷ 2 = 3 473 301 891 812 646 509 + 0;
  • 3 473 301 891 812 646 509 ÷ 2 = 1 736 650 945 906 323 254 + 1;
  • 1 736 650 945 906 323 254 ÷ 2 = 868 325 472 953 161 627 + 0;
  • 868 325 472 953 161 627 ÷ 2 = 434 162 736 476 580 813 + 1;
  • 434 162 736 476 580 813 ÷ 2 = 217 081 368 238 290 406 + 1;
  • 217 081 368 238 290 406 ÷ 2 = 108 540 684 119 145 203 + 0;
  • 108 540 684 119 145 203 ÷ 2 = 54 270 342 059 572 601 + 1;
  • 54 270 342 059 572 601 ÷ 2 = 27 135 171 029 786 300 + 1;
  • 27 135 171 029 786 300 ÷ 2 = 13 567 585 514 893 150 + 0;
  • 13 567 585 514 893 150 ÷ 2 = 6 783 792 757 446 575 + 0;
  • 6 783 792 757 446 575 ÷ 2 = 3 391 896 378 723 287 + 1;
  • 3 391 896 378 723 287 ÷ 2 = 1 695 948 189 361 643 + 1;
  • 1 695 948 189 361 643 ÷ 2 = 847 974 094 680 821 + 1;
  • 847 974 094 680 821 ÷ 2 = 423 987 047 340 410 + 1;
  • 423 987 047 340 410 ÷ 2 = 211 993 523 670 205 + 0;
  • 211 993 523 670 205 ÷ 2 = 105 996 761 835 102 + 1;
  • 105 996 761 835 102 ÷ 2 = 52 998 380 917 551 + 0;
  • 52 998 380 917 551 ÷ 2 = 26 499 190 458 775 + 1;
  • 26 499 190 458 775 ÷ 2 = 13 249 595 229 387 + 1;
  • 13 249 595 229 387 ÷ 2 = 6 624 797 614 693 + 1;
  • 6 624 797 614 693 ÷ 2 = 3 312 398 807 346 + 1;
  • 3 312 398 807 346 ÷ 2 = 1 656 199 403 673 + 0;
  • 1 656 199 403 673 ÷ 2 = 828 099 701 836 + 1;
  • 828 099 701 836 ÷ 2 = 414 049 850 918 + 0;
  • 414 049 850 918 ÷ 2 = 207 024 925 459 + 0;
  • 207 024 925 459 ÷ 2 = 103 512 462 729 + 1;
  • 103 512 462 729 ÷ 2 = 51 756 231 364 + 1;
  • 51 756 231 364 ÷ 2 = 25 878 115 682 + 0;
  • 25 878 115 682 ÷ 2 = 12 939 057 841 + 0;
  • 12 939 057 841 ÷ 2 = 6 469 528 920 + 1;
  • 6 469 528 920 ÷ 2 = 3 234 764 460 + 0;
  • 3 234 764 460 ÷ 2 = 1 617 382 230 + 0;
  • 1 617 382 230 ÷ 2 = 808 691 115 + 0;
  • 808 691 115 ÷ 2 = 404 345 557 + 1;
  • 404 345 557 ÷ 2 = 202 172 778 + 1;
  • 202 172 778 ÷ 2 = 101 086 389 + 0;
  • 101 086 389 ÷ 2 = 50 543 194 + 1;
  • 50 543 194 ÷ 2 = 25 271 597 + 0;
  • 25 271 597 ÷ 2 = 12 635 798 + 1;
  • 12 635 798 ÷ 2 = 6 317 899 + 0;
  • 6 317 899 ÷ 2 = 3 158 949 + 1;
  • 3 158 949 ÷ 2 = 1 579 474 + 1;
  • 1 579 474 ÷ 2 = 789 737 + 0;
  • 789 737 ÷ 2 = 394 868 + 1;
  • 394 868 ÷ 2 = 197 434 + 0;
  • 197 434 ÷ 2 = 98 717 + 0;
  • 98 717 ÷ 2 = 49 358 + 1;
  • 49 358 ÷ 2 = 24 679 + 0;
  • 24 679 ÷ 2 = 12 339 + 1;
  • 12 339 ÷ 2 = 6 169 + 1;
  • 6 169 ÷ 2 = 3 084 + 1;
  • 3 084 ÷ 2 = 1 542 + 0;
  • 1 542 ÷ 2 = 771 + 0;
  • 771 ÷ 2 = 385 + 1;
  • 385 ÷ 2 = 192 + 1;
  • 192 ÷ 2 = 96 + 0;
  • 96 ÷ 2 = 48 + 0;
  • 48 ÷ 2 = 24 + 0;
  • 24 ÷ 2 = 12 + 0;
  • 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 001 111 110 765 611 112 342 342 340 012 298 632(10) =


1100 0000 1100 1110 1001 0110 1010 1100 0100 1100 1011 1101 0111 1001 1011 0100 1011 1011 1000 1011 0101 1000 1000 0000 1010 0010 0101 0001 1000 1000(2)


3. Normalize the binary representation of the number.

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


1 001 111 110 765 611 112 342 342 340 012 298 632(10) =


1100 0000 1100 1110 1001 0110 1010 1100 0100 1100 1011 1101 0111 1001 1011 0100 1011 1011 1000 1011 0101 1000 1000 0000 1010 0010 0101 0001 1000 1000(2) =


1100 0000 1100 1110 1001 0110 1010 1100 0100 1100 1011 1101 0111 1001 1011 0100 1011 1011 1000 1011 0101 1000 1000 0000 1010 0010 0101 0001 1000 1000(2) × 20 =


1.1000 0001 1001 1101 0010 1101 0101 1000 1001 1001 0111 1010 1111 0011 0110 1001 0111 0111 0001 0110 1011 0001 0000 0001 0100 0100 1010 0011 0001 000(2) × 2119


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


Mantissa (not normalized):
1.1000 0001 1001 1101 0010 1101 0101 1000 1001 1001 0111 1010 1111 0011 0110 1001 0111 0111 0001 0110 1011 0001 0000 0001 0100 0100 1010 0011 0001 000


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


119 + 2(8-1) - 1 =


(119 + 127)(10) =


246(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;
  • 246 ÷ 2 = 123 + 0;
  • 123 ÷ 2 = 61 + 1;
  • 61 ÷ 2 = 30 + 1;
  • 30 ÷ 2 = 15 + 0;
  • 15 ÷ 2 = 7 + 1;
  • 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) =


246(10) =


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


100 0000 1100 1110 1001 0110


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) =
1111 0110


Mantissa (23 bits) =
100 0000 1100 1110 1001 0110


Decimal number 1 001 111 110 765 611 112 342 342 340 012 298 632 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1111 0110 - 100 0000 1100 1110 1001 0110


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