73 289 999 999 999 999 999 999 999 999 999 999 987 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 73 289 999 999 999 999 999 999 999 999 999 999 987(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
73 289 999 999 999 999 999 999 999 999 999 999 987(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;
  • 73 289 999 999 999 999 999 999 999 999 999 999 987 ÷ 2 = 36 644 999 999 999 999 999 999 999 999 999 999 993 + 1;
  • 36 644 999 999 999 999 999 999 999 999 999 999 993 ÷ 2 = 18 322 499 999 999 999 999 999 999 999 999 999 996 + 1;
  • 18 322 499 999 999 999 999 999 999 999 999 999 996 ÷ 2 = 9 161 249 999 999 999 999 999 999 999 999 999 998 + 0;
  • 9 161 249 999 999 999 999 999 999 999 999 999 998 ÷ 2 = 4 580 624 999 999 999 999 999 999 999 999 999 999 + 0;
  • 4 580 624 999 999 999 999 999 999 999 999 999 999 ÷ 2 = 2 290 312 499 999 999 999 999 999 999 999 999 999 + 1;
  • 2 290 312 499 999 999 999 999 999 999 999 999 999 ÷ 2 = 1 145 156 249 999 999 999 999 999 999 999 999 999 + 1;
  • 1 145 156 249 999 999 999 999 999 999 999 999 999 ÷ 2 = 572 578 124 999 999 999 999 999 999 999 999 999 + 1;
  • 572 578 124 999 999 999 999 999 999 999 999 999 ÷ 2 = 286 289 062 499 999 999 999 999 999 999 999 999 + 1;
  • 286 289 062 499 999 999 999 999 999 999 999 999 ÷ 2 = 143 144 531 249 999 999 999 999 999 999 999 999 + 1;
  • 143 144 531 249 999 999 999 999 999 999 999 999 ÷ 2 = 71 572 265 624 999 999 999 999 999 999 999 999 + 1;
  • 71 572 265 624 999 999 999 999 999 999 999 999 ÷ 2 = 35 786 132 812 499 999 999 999 999 999 999 999 + 1;
  • 35 786 132 812 499 999 999 999 999 999 999 999 ÷ 2 = 17 893 066 406 249 999 999 999 999 999 999 999 + 1;
  • 17 893 066 406 249 999 999 999 999 999 999 999 ÷ 2 = 8 946 533 203 124 999 999 999 999 999 999 999 + 1;
  • 8 946 533 203 124 999 999 999 999 999 999 999 ÷ 2 = 4 473 266 601 562 499 999 999 999 999 999 999 + 1;
  • 4 473 266 601 562 499 999 999 999 999 999 999 ÷ 2 = 2 236 633 300 781 249 999 999 999 999 999 999 + 1;
  • 2 236 633 300 781 249 999 999 999 999 999 999 ÷ 2 = 1 118 316 650 390 624 999 999 999 999 999 999 + 1;
  • 1 118 316 650 390 624 999 999 999 999 999 999 ÷ 2 = 559 158 325 195 312 499 999 999 999 999 999 + 1;
  • 559 158 325 195 312 499 999 999 999 999 999 ÷ 2 = 279 579 162 597 656 249 999 999 999 999 999 + 1;
  • 279 579 162 597 656 249 999 999 999 999 999 ÷ 2 = 139 789 581 298 828 124 999 999 999 999 999 + 1;
  • 139 789 581 298 828 124 999 999 999 999 999 ÷ 2 = 69 894 790 649 414 062 499 999 999 999 999 + 1;
  • 69 894 790 649 414 062 499 999 999 999 999 ÷ 2 = 34 947 395 324 707 031 249 999 999 999 999 + 1;
  • 34 947 395 324 707 031 249 999 999 999 999 ÷ 2 = 17 473 697 662 353 515 624 999 999 999 999 + 1;
  • 17 473 697 662 353 515 624 999 999 999 999 ÷ 2 = 8 736 848 831 176 757 812 499 999 999 999 + 1;
  • 8 736 848 831 176 757 812 499 999 999 999 ÷ 2 = 4 368 424 415 588 378 906 249 999 999 999 + 1;
  • 4 368 424 415 588 378 906 249 999 999 999 ÷ 2 = 2 184 212 207 794 189 453 124 999 999 999 + 1;
  • 2 184 212 207 794 189 453 124 999 999 999 ÷ 2 = 1 092 106 103 897 094 726 562 499 999 999 + 1;
  • 1 092 106 103 897 094 726 562 499 999 999 ÷ 2 = 546 053 051 948 547 363 281 249 999 999 + 1;
  • 546 053 051 948 547 363 281 249 999 999 ÷ 2 = 273 026 525 974 273 681 640 624 999 999 + 1;
  • 273 026 525 974 273 681 640 624 999 999 ÷ 2 = 136 513 262 987 136 840 820 312 499 999 + 1;
  • 136 513 262 987 136 840 820 312 499 999 ÷ 2 = 68 256 631 493 568 420 410 156 249 999 + 1;
  • 68 256 631 493 568 420 410 156 249 999 ÷ 2 = 34 128 315 746 784 210 205 078 124 999 + 1;
  • 34 128 315 746 784 210 205 078 124 999 ÷ 2 = 17 064 157 873 392 105 102 539 062 499 + 1;
  • 17 064 157 873 392 105 102 539 062 499 ÷ 2 = 8 532 078 936 696 052 551 269 531 249 + 1;
  • 8 532 078 936 696 052 551 269 531 249 ÷ 2 = 4 266 039 468 348 026 275 634 765 624 + 1;
  • 4 266 039 468 348 026 275 634 765 624 ÷ 2 = 2 133 019 734 174 013 137 817 382 812 + 0;
  • 2 133 019 734 174 013 137 817 382 812 ÷ 2 = 1 066 509 867 087 006 568 908 691 406 + 0;
  • 1 066 509 867 087 006 568 908 691 406 ÷ 2 = 533 254 933 543 503 284 454 345 703 + 0;
  • 533 254 933 543 503 284 454 345 703 ÷ 2 = 266 627 466 771 751 642 227 172 851 + 1;
  • 266 627 466 771 751 642 227 172 851 ÷ 2 = 133 313 733 385 875 821 113 586 425 + 1;
  • 133 313 733 385 875 821 113 586 425 ÷ 2 = 66 656 866 692 937 910 556 793 212 + 1;
  • 66 656 866 692 937 910 556 793 212 ÷ 2 = 33 328 433 346 468 955 278 396 606 + 0;
  • 33 328 433 346 468 955 278 396 606 ÷ 2 = 16 664 216 673 234 477 639 198 303 + 0;
  • 16 664 216 673 234 477 639 198 303 ÷ 2 = 8 332 108 336 617 238 819 599 151 + 1;
  • 8 332 108 336 617 238 819 599 151 ÷ 2 = 4 166 054 168 308 619 409 799 575 + 1;
  • 4 166 054 168 308 619 409 799 575 ÷ 2 = 2 083 027 084 154 309 704 899 787 + 1;
  • 2 083 027 084 154 309 704 899 787 ÷ 2 = 1 041 513 542 077 154 852 449 893 + 1;
  • 1 041 513 542 077 154 852 449 893 ÷ 2 = 520 756 771 038 577 426 224 946 + 1;
  • 520 756 771 038 577 426 224 946 ÷ 2 = 260 378 385 519 288 713 112 473 + 0;
  • 260 378 385 519 288 713 112 473 ÷ 2 = 130 189 192 759 644 356 556 236 + 1;
  • 130 189 192 759 644 356 556 236 ÷ 2 = 65 094 596 379 822 178 278 118 + 0;
  • 65 094 596 379 822 178 278 118 ÷ 2 = 32 547 298 189 911 089 139 059 + 0;
  • 32 547 298 189 911 089 139 059 ÷ 2 = 16 273 649 094 955 544 569 529 + 1;
  • 16 273 649 094 955 544 569 529 ÷ 2 = 8 136 824 547 477 772 284 764 + 1;
  • 8 136 824 547 477 772 284 764 ÷ 2 = 4 068 412 273 738 886 142 382 + 0;
  • 4 068 412 273 738 886 142 382 ÷ 2 = 2 034 206 136 869 443 071 191 + 0;
  • 2 034 206 136 869 443 071 191 ÷ 2 = 1 017 103 068 434 721 535 595 + 1;
  • 1 017 103 068 434 721 535 595 ÷ 2 = 508 551 534 217 360 767 797 + 1;
  • 508 551 534 217 360 767 797 ÷ 2 = 254 275 767 108 680 383 898 + 1;
  • 254 275 767 108 680 383 898 ÷ 2 = 127 137 883 554 340 191 949 + 0;
  • 127 137 883 554 340 191 949 ÷ 2 = 63 568 941 777 170 095 974 + 1;
  • 63 568 941 777 170 095 974 ÷ 2 = 31 784 470 888 585 047 987 + 0;
  • 31 784 470 888 585 047 987 ÷ 2 = 15 892 235 444 292 523 993 + 1;
  • 15 892 235 444 292 523 993 ÷ 2 = 7 946 117 722 146 261 996 + 1;
  • 7 946 117 722 146 261 996 ÷ 2 = 3 973 058 861 073 130 998 + 0;
  • 3 973 058 861 073 130 998 ÷ 2 = 1 986 529 430 536 565 499 + 0;
  • 1 986 529 430 536 565 499 ÷ 2 = 993 264 715 268 282 749 + 1;
  • 993 264 715 268 282 749 ÷ 2 = 496 632 357 634 141 374 + 1;
  • 496 632 357 634 141 374 ÷ 2 = 248 316 178 817 070 687 + 0;
  • 248 316 178 817 070 687 ÷ 2 = 124 158 089 408 535 343 + 1;
  • 124 158 089 408 535 343 ÷ 2 = 62 079 044 704 267 671 + 1;
  • 62 079 044 704 267 671 ÷ 2 = 31 039 522 352 133 835 + 1;
  • 31 039 522 352 133 835 ÷ 2 = 15 519 761 176 066 917 + 1;
  • 15 519 761 176 066 917 ÷ 2 = 7 759 880 588 033 458 + 1;
  • 7 759 880 588 033 458 ÷ 2 = 3 879 940 294 016 729 + 0;
  • 3 879 940 294 016 729 ÷ 2 = 1 939 970 147 008 364 + 1;
  • 1 939 970 147 008 364 ÷ 2 = 969 985 073 504 182 + 0;
  • 969 985 073 504 182 ÷ 2 = 484 992 536 752 091 + 0;
  • 484 992 536 752 091 ÷ 2 = 242 496 268 376 045 + 1;
  • 242 496 268 376 045 ÷ 2 = 121 248 134 188 022 + 1;
  • 121 248 134 188 022 ÷ 2 = 60 624 067 094 011 + 0;
  • 60 624 067 094 011 ÷ 2 = 30 312 033 547 005 + 1;
  • 30 312 033 547 005 ÷ 2 = 15 156 016 773 502 + 1;
  • 15 156 016 773 502 ÷ 2 = 7 578 008 386 751 + 0;
  • 7 578 008 386 751 ÷ 2 = 3 789 004 193 375 + 1;
  • 3 789 004 193 375 ÷ 2 = 1 894 502 096 687 + 1;
  • 1 894 502 096 687 ÷ 2 = 947 251 048 343 + 1;
  • 947 251 048 343 ÷ 2 = 473 625 524 171 + 1;
  • 473 625 524 171 ÷ 2 = 236 812 762 085 + 1;
  • 236 812 762 085 ÷ 2 = 118 406 381 042 + 1;
  • 118 406 381 042 ÷ 2 = 59 203 190 521 + 0;
  • 59 203 190 521 ÷ 2 = 29 601 595 260 + 1;
  • 29 601 595 260 ÷ 2 = 14 800 797 630 + 0;
  • 14 800 797 630 ÷ 2 = 7 400 398 815 + 0;
  • 7 400 398 815 ÷ 2 = 3 700 199 407 + 1;
  • 3 700 199 407 ÷ 2 = 1 850 099 703 + 1;
  • 1 850 099 703 ÷ 2 = 925 049 851 + 1;
  • 925 049 851 ÷ 2 = 462 524 925 + 1;
  • 462 524 925 ÷ 2 = 231 262 462 + 1;
  • 231 262 462 ÷ 2 = 115 631 231 + 0;
  • 115 631 231 ÷ 2 = 57 815 615 + 1;
  • 57 815 615 ÷ 2 = 28 907 807 + 1;
  • 28 907 807 ÷ 2 = 14 453 903 + 1;
  • 14 453 903 ÷ 2 = 7 226 951 + 1;
  • 7 226 951 ÷ 2 = 3 613 475 + 1;
  • 3 613 475 ÷ 2 = 1 806 737 + 1;
  • 1 806 737 ÷ 2 = 903 368 + 1;
  • 903 368 ÷ 2 = 451 684 + 0;
  • 451 684 ÷ 2 = 225 842 + 0;
  • 225 842 ÷ 2 = 112 921 + 0;
  • 112 921 ÷ 2 = 56 460 + 1;
  • 56 460 ÷ 2 = 28 230 + 0;
  • 28 230 ÷ 2 = 14 115 + 0;
  • 14 115 ÷ 2 = 7 057 + 1;
  • 7 057 ÷ 2 = 3 528 + 1;
  • 3 528 ÷ 2 = 1 764 + 0;
  • 1 764 ÷ 2 = 882 + 0;
  • 882 ÷ 2 = 441 + 0;
  • 441 ÷ 2 = 220 + 1;
  • 220 ÷ 2 = 110 + 0;
  • 110 ÷ 2 = 55 + 0;
  • 55 ÷ 2 = 27 + 1;
  • 27 ÷ 2 = 13 + 1;
  • 13 ÷ 2 = 6 + 1;
  • 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.

73 289 999 999 999 999 999 999 999 999 999 999 987(10) =


11 0111 0010 0011 0010 0011 1111 1011 1110 0101 1111 1011 0110 0101 1111 0110 0110 1011 1001 1001 0111 1100 1110 0011 1111 1111 1111 1111 1111 1111 1111 0011(2)


3. Normalize the binary representation of the number.

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


73 289 999 999 999 999 999 999 999 999 999 999 987(10) =


11 0111 0010 0011 0010 0011 1111 1011 1110 0101 1111 1011 0110 0101 1111 0110 0110 1011 1001 1001 0111 1100 1110 0011 1111 1111 1111 1111 1111 1111 1111 0011(2) =


11 0111 0010 0011 0010 0011 1111 1011 1110 0101 1111 1011 0110 0101 1111 0110 0110 1011 1001 1001 0111 1100 1110 0011 1111 1111 1111 1111 1111 1111 1111 0011(2) × 20 =


1.1011 1001 0001 1001 0001 1111 1101 1111 0010 1111 1101 1011 0010 1111 1011 0011 0101 1100 1100 1011 1110 0111 0001 1111 1111 1111 1111 1111 1111 1111 1001 1(2) × 2125


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


Mantissa (not normalized):
1.1011 1001 0001 1001 0001 1111 1101 1111 0010 1111 1101 1011 0010 1111 1011 0011 0101 1100 1100 1011 1110 0111 0001 1111 1111 1111 1111 1111 1111 1111 1001 1


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


125 + 2(8-1) - 1 =


(125 + 127)(10) =


252(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;
  • 252 ÷ 2 = 126 + 0;
  • 126 ÷ 2 = 63 + 0;
  • 63 ÷ 2 = 31 + 1;
  • 31 ÷ 2 = 15 + 1;
  • 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) =


252(10) =


1111 1100(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. 101 1100 1000 1100 1000 1111 11 1011 1110 0101 1111 1011 0110 0101 1111 0110 0110 1011 1001 1001 0111 1100 1110 0011 1111 1111 1111 1111 1111 1111 1111 0011 =


101 1100 1000 1100 1000 1111


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 1100


Mantissa (23 bits) =
101 1100 1000 1100 1000 1111


Decimal number 73 289 999 999 999 999 999 999 999 999 999 999 987 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1111 1100 - 101 1100 1000 1100 1000 1111

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