34 028 235 000 000 000 000 000 000 000 000 001 488 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 34 028 235 000 000 000 000 000 000 000 000 001 488(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
34 028 235 000 000 000 000 000 000 000 000 001 488(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;
  • 34 028 235 000 000 000 000 000 000 000 000 001 488 ÷ 2 = 17 014 117 500 000 000 000 000 000 000 000 000 744 + 0;
  • 17 014 117 500 000 000 000 000 000 000 000 000 744 ÷ 2 = 8 507 058 750 000 000 000 000 000 000 000 000 372 + 0;
  • 8 507 058 750 000 000 000 000 000 000 000 000 372 ÷ 2 = 4 253 529 375 000 000 000 000 000 000 000 000 186 + 0;
  • 4 253 529 375 000 000 000 000 000 000 000 000 186 ÷ 2 = 2 126 764 687 500 000 000 000 000 000 000 000 093 + 0;
  • 2 126 764 687 500 000 000 000 000 000 000 000 093 ÷ 2 = 1 063 382 343 750 000 000 000 000 000 000 000 046 + 1;
  • 1 063 382 343 750 000 000 000 000 000 000 000 046 ÷ 2 = 531 691 171 875 000 000 000 000 000 000 000 023 + 0;
  • 531 691 171 875 000 000 000 000 000 000 000 023 ÷ 2 = 265 845 585 937 500 000 000 000 000 000 000 011 + 1;
  • 265 845 585 937 500 000 000 000 000 000 000 011 ÷ 2 = 132 922 792 968 750 000 000 000 000 000 000 005 + 1;
  • 132 922 792 968 750 000 000 000 000 000 000 005 ÷ 2 = 66 461 396 484 375 000 000 000 000 000 000 002 + 1;
  • 66 461 396 484 375 000 000 000 000 000 000 002 ÷ 2 = 33 230 698 242 187 500 000 000 000 000 000 001 + 0;
  • 33 230 698 242 187 500 000 000 000 000 000 001 ÷ 2 = 16 615 349 121 093 750 000 000 000 000 000 000 + 1;
  • 16 615 349 121 093 750 000 000 000 000 000 000 ÷ 2 = 8 307 674 560 546 875 000 000 000 000 000 000 + 0;
  • 8 307 674 560 546 875 000 000 000 000 000 000 ÷ 2 = 4 153 837 280 273 437 500 000 000 000 000 000 + 0;
  • 4 153 837 280 273 437 500 000 000 000 000 000 ÷ 2 = 2 076 918 640 136 718 750 000 000 000 000 000 + 0;
  • 2 076 918 640 136 718 750 000 000 000 000 000 ÷ 2 = 1 038 459 320 068 359 375 000 000 000 000 000 + 0;
  • 1 038 459 320 068 359 375 000 000 000 000 000 ÷ 2 = 519 229 660 034 179 687 500 000 000 000 000 + 0;
  • 519 229 660 034 179 687 500 000 000 000 000 ÷ 2 = 259 614 830 017 089 843 750 000 000 000 000 + 0;
  • 259 614 830 017 089 843 750 000 000 000 000 ÷ 2 = 129 807 415 008 544 921 875 000 000 000 000 + 0;
  • 129 807 415 008 544 921 875 000 000 000 000 ÷ 2 = 64 903 707 504 272 460 937 500 000 000 000 + 0;
  • 64 903 707 504 272 460 937 500 000 000 000 ÷ 2 = 32 451 853 752 136 230 468 750 000 000 000 + 0;
  • 32 451 853 752 136 230 468 750 000 000 000 ÷ 2 = 16 225 926 876 068 115 234 375 000 000 000 + 0;
  • 16 225 926 876 068 115 234 375 000 000 000 ÷ 2 = 8 112 963 438 034 057 617 187 500 000 000 + 0;
  • 8 112 963 438 034 057 617 187 500 000 000 ÷ 2 = 4 056 481 719 017 028 808 593 750 000 000 + 0;
  • 4 056 481 719 017 028 808 593 750 000 000 ÷ 2 = 2 028 240 859 508 514 404 296 875 000 000 + 0;
  • 2 028 240 859 508 514 404 296 875 000 000 ÷ 2 = 1 014 120 429 754 257 202 148 437 500 000 + 0;
  • 1 014 120 429 754 257 202 148 437 500 000 ÷ 2 = 507 060 214 877 128 601 074 218 750 000 + 0;
  • 507 060 214 877 128 601 074 218 750 000 ÷ 2 = 253 530 107 438 564 300 537 109 375 000 + 0;
  • 253 530 107 438 564 300 537 109 375 000 ÷ 2 = 126 765 053 719 282 150 268 554 687 500 + 0;
  • 126 765 053 719 282 150 268 554 687 500 ÷ 2 = 63 382 526 859 641 075 134 277 343 750 + 0;
  • 63 382 526 859 641 075 134 277 343 750 ÷ 2 = 31 691 263 429 820 537 567 138 671 875 + 0;
  • 31 691 263 429 820 537 567 138 671 875 ÷ 2 = 15 845 631 714 910 268 783 569 335 937 + 1;
  • 15 845 631 714 910 268 783 569 335 937 ÷ 2 = 7 922 815 857 455 134 391 784 667 968 + 1;
  • 7 922 815 857 455 134 391 784 667 968 ÷ 2 = 3 961 407 928 727 567 195 892 333 984 + 0;
  • 3 961 407 928 727 567 195 892 333 984 ÷ 2 = 1 980 703 964 363 783 597 946 166 992 + 0;
  • 1 980 703 964 363 783 597 946 166 992 ÷ 2 = 990 351 982 181 891 798 973 083 496 + 0;
  • 990 351 982 181 891 798 973 083 496 ÷ 2 = 495 175 991 090 945 899 486 541 748 + 0;
  • 495 175 991 090 945 899 486 541 748 ÷ 2 = 247 587 995 545 472 949 743 270 874 + 0;
  • 247 587 995 545 472 949 743 270 874 ÷ 2 = 123 793 997 772 736 474 871 635 437 + 0;
  • 123 793 997 772 736 474 871 635 437 ÷ 2 = 61 896 998 886 368 237 435 817 718 + 1;
  • 61 896 998 886 368 237 435 817 718 ÷ 2 = 30 948 499 443 184 118 717 908 859 + 0;
  • 30 948 499 443 184 118 717 908 859 ÷ 2 = 15 474 249 721 592 059 358 954 429 + 1;
  • 15 474 249 721 592 059 358 954 429 ÷ 2 = 7 737 124 860 796 029 679 477 214 + 1;
  • 7 737 124 860 796 029 679 477 214 ÷ 2 = 3 868 562 430 398 014 839 738 607 + 0;
  • 3 868 562 430 398 014 839 738 607 ÷ 2 = 1 934 281 215 199 007 419 869 303 + 1;
  • 1 934 281 215 199 007 419 869 303 ÷ 2 = 967 140 607 599 503 709 934 651 + 1;
  • 967 140 607 599 503 709 934 651 ÷ 2 = 483 570 303 799 751 854 967 325 + 1;
  • 483 570 303 799 751 854 967 325 ÷ 2 = 241 785 151 899 875 927 483 662 + 1;
  • 241 785 151 899 875 927 483 662 ÷ 2 = 120 892 575 949 937 963 741 831 + 0;
  • 120 892 575 949 937 963 741 831 ÷ 2 = 60 446 287 974 968 981 870 915 + 1;
  • 60 446 287 974 968 981 870 915 ÷ 2 = 30 223 143 987 484 490 935 457 + 1;
  • 30 223 143 987 484 490 935 457 ÷ 2 = 15 111 571 993 742 245 467 728 + 1;
  • 15 111 571 993 742 245 467 728 ÷ 2 = 7 555 785 996 871 122 733 864 + 0;
  • 7 555 785 996 871 122 733 864 ÷ 2 = 3 777 892 998 435 561 366 932 + 0;
  • 3 777 892 998 435 561 366 932 ÷ 2 = 1 888 946 499 217 780 683 466 + 0;
  • 1 888 946 499 217 780 683 466 ÷ 2 = 944 473 249 608 890 341 733 + 0;
  • 944 473 249 608 890 341 733 ÷ 2 = 472 236 624 804 445 170 866 + 1;
  • 472 236 624 804 445 170 866 ÷ 2 = 236 118 312 402 222 585 433 + 0;
  • 236 118 312 402 222 585 433 ÷ 2 = 118 059 156 201 111 292 716 + 1;
  • 118 059 156 201 111 292 716 ÷ 2 = 59 029 578 100 555 646 358 + 0;
  • 59 029 578 100 555 646 358 ÷ 2 = 29 514 789 050 277 823 179 + 0;
  • 29 514 789 050 277 823 179 ÷ 2 = 14 757 394 525 138 911 589 + 1;
  • 14 757 394 525 138 911 589 ÷ 2 = 7 378 697 262 569 455 794 + 1;
  • 7 378 697 262 569 455 794 ÷ 2 = 3 689 348 631 284 727 897 + 0;
  • 3 689 348 631 284 727 897 ÷ 2 = 1 844 674 315 642 363 948 + 1;
  • 1 844 674 315 642 363 948 ÷ 2 = 922 337 157 821 181 974 + 0;
  • 922 337 157 821 181 974 ÷ 2 = 461 168 578 910 590 987 + 0;
  • 461 168 578 910 590 987 ÷ 2 = 230 584 289 455 295 493 + 1;
  • 230 584 289 455 295 493 ÷ 2 = 115 292 144 727 647 746 + 1;
  • 115 292 144 727 647 746 ÷ 2 = 57 646 072 363 823 873 + 0;
  • 57 646 072 363 823 873 ÷ 2 = 28 823 036 181 911 936 + 1;
  • 28 823 036 181 911 936 ÷ 2 = 14 411 518 090 955 968 + 0;
  • 14 411 518 090 955 968 ÷ 2 = 7 205 759 045 477 984 + 0;
  • 7 205 759 045 477 984 ÷ 2 = 3 602 879 522 738 992 + 0;
  • 3 602 879 522 738 992 ÷ 2 = 1 801 439 761 369 496 + 0;
  • 1 801 439 761 369 496 ÷ 2 = 900 719 880 684 748 + 0;
  • 900 719 880 684 748 ÷ 2 = 450 359 940 342 374 + 0;
  • 450 359 940 342 374 ÷ 2 = 225 179 970 171 187 + 0;
  • 225 179 970 171 187 ÷ 2 = 112 589 985 085 593 + 1;
  • 112 589 985 085 593 ÷ 2 = 56 294 992 542 796 + 1;
  • 56 294 992 542 796 ÷ 2 = 28 147 496 271 398 + 0;
  • 28 147 496 271 398 ÷ 2 = 14 073 748 135 699 + 0;
  • 14 073 748 135 699 ÷ 2 = 7 036 874 067 849 + 1;
  • 7 036 874 067 849 ÷ 2 = 3 518 437 033 924 + 1;
  • 3 518 437 033 924 ÷ 2 = 1 759 218 516 962 + 0;
  • 1 759 218 516 962 ÷ 2 = 879 609 258 481 + 0;
  • 879 609 258 481 ÷ 2 = 439 804 629 240 + 1;
  • 439 804 629 240 ÷ 2 = 219 902 314 620 + 0;
  • 219 902 314 620 ÷ 2 = 109 951 157 310 + 0;
  • 109 951 157 310 ÷ 2 = 54 975 578 655 + 0;
  • 54 975 578 655 ÷ 2 = 27 487 789 327 + 1;
  • 27 487 789 327 ÷ 2 = 13 743 894 663 + 1;
  • 13 743 894 663 ÷ 2 = 6 871 947 331 + 1;
  • 6 871 947 331 ÷ 2 = 3 435 973 665 + 1;
  • 3 435 973 665 ÷ 2 = 1 717 986 832 + 1;
  • 1 717 986 832 ÷ 2 = 858 993 416 + 0;
  • 858 993 416 ÷ 2 = 429 496 708 + 0;
  • 429 496 708 ÷ 2 = 214 748 354 + 0;
  • 214 748 354 ÷ 2 = 107 374 177 + 0;
  • 107 374 177 ÷ 2 = 53 687 088 + 1;
  • 53 687 088 ÷ 2 = 26 843 544 + 0;
  • 26 843 544 ÷ 2 = 13 421 772 + 0;
  • 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.

34 028 235 000 000 000 000 000 000 000 000 001 488(10) =


1 1001 1001 1001 1001 1001 1000 0100 0011 1110 0010 0110 0110 0000 0010 1100 1011 0010 1000 0111 0111 1011 0100 0000 1100 0000 0000 0000 0000 0101 1101 0000(2)


3. Normalize the binary representation of the number.

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


34 028 235 000 000 000 000 000 000 000 000 001 488(10) =


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


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


1.1001 1001 1001 1001 1001 1000 0100 0011 1110 0010 0110 0110 0000 0010 1100 1011 0010 1000 0111 0111 1011 0100 0000 1100 0000 0000 0000 0000 0101 1101 0000(2) × 2124


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


Mantissa (not normalized):
1.1001 1001 1001 1001 1001 1000 0100 0011 1110 0010 0110 0110 0000 0010 1100 1011 0010 1000 0111 0111 1011 0100 0000 1100 0000 0000 0000 0000 0101 1101 0000


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


124 + 2(8-1) - 1 =


(124 + 127)(10) =


251(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;
  • 251 ÷ 2 = 125 + 1;
  • 125 ÷ 2 = 62 + 1;
  • 62 ÷ 2 = 31 + 0;
  • 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) =


251(10) =


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


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


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


Decimal number 34 028 235 000 000 000 000 000 000 000 000 001 488 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1111 1011 - 100 1100 1100 1100 1100 1100


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