4 229 755 273 241 196 160 948 318 176 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 4 229 755 273 241 196 160 948 318 176(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
4 229 755 273 241 196 160 948 318 176(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;
  • 4 229 755 273 241 196 160 948 318 176 ÷ 2 = 2 114 877 636 620 598 080 474 159 088 + 0;
  • 2 114 877 636 620 598 080 474 159 088 ÷ 2 = 1 057 438 818 310 299 040 237 079 544 + 0;
  • 1 057 438 818 310 299 040 237 079 544 ÷ 2 = 528 719 409 155 149 520 118 539 772 + 0;
  • 528 719 409 155 149 520 118 539 772 ÷ 2 = 264 359 704 577 574 760 059 269 886 + 0;
  • 264 359 704 577 574 760 059 269 886 ÷ 2 = 132 179 852 288 787 380 029 634 943 + 0;
  • 132 179 852 288 787 380 029 634 943 ÷ 2 = 66 089 926 144 393 690 014 817 471 + 1;
  • 66 089 926 144 393 690 014 817 471 ÷ 2 = 33 044 963 072 196 845 007 408 735 + 1;
  • 33 044 963 072 196 845 007 408 735 ÷ 2 = 16 522 481 536 098 422 503 704 367 + 1;
  • 16 522 481 536 098 422 503 704 367 ÷ 2 = 8 261 240 768 049 211 251 852 183 + 1;
  • 8 261 240 768 049 211 251 852 183 ÷ 2 = 4 130 620 384 024 605 625 926 091 + 1;
  • 4 130 620 384 024 605 625 926 091 ÷ 2 = 2 065 310 192 012 302 812 963 045 + 1;
  • 2 065 310 192 012 302 812 963 045 ÷ 2 = 1 032 655 096 006 151 406 481 522 + 1;
  • 1 032 655 096 006 151 406 481 522 ÷ 2 = 516 327 548 003 075 703 240 761 + 0;
  • 516 327 548 003 075 703 240 761 ÷ 2 = 258 163 774 001 537 851 620 380 + 1;
  • 258 163 774 001 537 851 620 380 ÷ 2 = 129 081 887 000 768 925 810 190 + 0;
  • 129 081 887 000 768 925 810 190 ÷ 2 = 64 540 943 500 384 462 905 095 + 0;
  • 64 540 943 500 384 462 905 095 ÷ 2 = 32 270 471 750 192 231 452 547 + 1;
  • 32 270 471 750 192 231 452 547 ÷ 2 = 16 135 235 875 096 115 726 273 + 1;
  • 16 135 235 875 096 115 726 273 ÷ 2 = 8 067 617 937 548 057 863 136 + 1;
  • 8 067 617 937 548 057 863 136 ÷ 2 = 4 033 808 968 774 028 931 568 + 0;
  • 4 033 808 968 774 028 931 568 ÷ 2 = 2 016 904 484 387 014 465 784 + 0;
  • 2 016 904 484 387 014 465 784 ÷ 2 = 1 008 452 242 193 507 232 892 + 0;
  • 1 008 452 242 193 507 232 892 ÷ 2 = 504 226 121 096 753 616 446 + 0;
  • 504 226 121 096 753 616 446 ÷ 2 = 252 113 060 548 376 808 223 + 0;
  • 252 113 060 548 376 808 223 ÷ 2 = 126 056 530 274 188 404 111 + 1;
  • 126 056 530 274 188 404 111 ÷ 2 = 63 028 265 137 094 202 055 + 1;
  • 63 028 265 137 094 202 055 ÷ 2 = 31 514 132 568 547 101 027 + 1;
  • 31 514 132 568 547 101 027 ÷ 2 = 15 757 066 284 273 550 513 + 1;
  • 15 757 066 284 273 550 513 ÷ 2 = 7 878 533 142 136 775 256 + 1;
  • 7 878 533 142 136 775 256 ÷ 2 = 3 939 266 571 068 387 628 + 0;
  • 3 939 266 571 068 387 628 ÷ 2 = 1 969 633 285 534 193 814 + 0;
  • 1 969 633 285 534 193 814 ÷ 2 = 984 816 642 767 096 907 + 0;
  • 984 816 642 767 096 907 ÷ 2 = 492 408 321 383 548 453 + 1;
  • 492 408 321 383 548 453 ÷ 2 = 246 204 160 691 774 226 + 1;
  • 246 204 160 691 774 226 ÷ 2 = 123 102 080 345 887 113 + 0;
  • 123 102 080 345 887 113 ÷ 2 = 61 551 040 172 943 556 + 1;
  • 61 551 040 172 943 556 ÷ 2 = 30 775 520 086 471 778 + 0;
  • 30 775 520 086 471 778 ÷ 2 = 15 387 760 043 235 889 + 0;
  • 15 387 760 043 235 889 ÷ 2 = 7 693 880 021 617 944 + 1;
  • 7 693 880 021 617 944 ÷ 2 = 3 846 940 010 808 972 + 0;
  • 3 846 940 010 808 972 ÷ 2 = 1 923 470 005 404 486 + 0;
  • 1 923 470 005 404 486 ÷ 2 = 961 735 002 702 243 + 0;
  • 961 735 002 702 243 ÷ 2 = 480 867 501 351 121 + 1;
  • 480 867 501 351 121 ÷ 2 = 240 433 750 675 560 + 1;
  • 240 433 750 675 560 ÷ 2 = 120 216 875 337 780 + 0;
  • 120 216 875 337 780 ÷ 2 = 60 108 437 668 890 + 0;
  • 60 108 437 668 890 ÷ 2 = 30 054 218 834 445 + 0;
  • 30 054 218 834 445 ÷ 2 = 15 027 109 417 222 + 1;
  • 15 027 109 417 222 ÷ 2 = 7 513 554 708 611 + 0;
  • 7 513 554 708 611 ÷ 2 = 3 756 777 354 305 + 1;
  • 3 756 777 354 305 ÷ 2 = 1 878 388 677 152 + 1;
  • 1 878 388 677 152 ÷ 2 = 939 194 338 576 + 0;
  • 939 194 338 576 ÷ 2 = 469 597 169 288 + 0;
  • 469 597 169 288 ÷ 2 = 234 798 584 644 + 0;
  • 234 798 584 644 ÷ 2 = 117 399 292 322 + 0;
  • 117 399 292 322 ÷ 2 = 58 699 646 161 + 0;
  • 58 699 646 161 ÷ 2 = 29 349 823 080 + 1;
  • 29 349 823 080 ÷ 2 = 14 674 911 540 + 0;
  • 14 674 911 540 ÷ 2 = 7 337 455 770 + 0;
  • 7 337 455 770 ÷ 2 = 3 668 727 885 + 0;
  • 3 668 727 885 ÷ 2 = 1 834 363 942 + 1;
  • 1 834 363 942 ÷ 2 = 917 181 971 + 0;
  • 917 181 971 ÷ 2 = 458 590 985 + 1;
  • 458 590 985 ÷ 2 = 229 295 492 + 1;
  • 229 295 492 ÷ 2 = 114 647 746 + 0;
  • 114 647 746 ÷ 2 = 57 323 873 + 0;
  • 57 323 873 ÷ 2 = 28 661 936 + 1;
  • 28 661 936 ÷ 2 = 14 330 968 + 0;
  • 14 330 968 ÷ 2 = 7 165 484 + 0;
  • 7 165 484 ÷ 2 = 3 582 742 + 0;
  • 3 582 742 ÷ 2 = 1 791 371 + 0;
  • 1 791 371 ÷ 2 = 895 685 + 1;
  • 895 685 ÷ 2 = 447 842 + 1;
  • 447 842 ÷ 2 = 223 921 + 0;
  • 223 921 ÷ 2 = 111 960 + 1;
  • 111 960 ÷ 2 = 55 980 + 0;
  • 55 980 ÷ 2 = 27 990 + 0;
  • 27 990 ÷ 2 = 13 995 + 0;
  • 13 995 ÷ 2 = 6 997 + 1;
  • 6 997 ÷ 2 = 3 498 + 1;
  • 3 498 ÷ 2 = 1 749 + 0;
  • 1 749 ÷ 2 = 874 + 1;
  • 874 ÷ 2 = 437 + 0;
  • 437 ÷ 2 = 218 + 1;
  • 218 ÷ 2 = 109 + 0;
  • 109 ÷ 2 = 54 + 1;
  • 54 ÷ 2 = 27 + 0;
  • 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.

4 229 755 273 241 196 160 948 318 176(10) =


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


3. Normalize the binary representation of the number.

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


4 229 755 273 241 196 160 948 318 176(10) =


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


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


1.1011 0101 0101 1000 1011 0000 1001 1010 0010 0000 1101 0001 1000 1001 0110 0011 1110 0000 1110 0101 1111 1100 000(2) × 291


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


Mantissa (not normalized):
1.1011 0101 0101 1000 1011 0000 1001 1010 0010 0000 1101 0001 1000 1001 0110 0011 1110 0000 1110 0101 1111 1100 000


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


91 + 2(8-1) - 1 =


(91 + 127)(10) =


218(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;
  • 218 ÷ 2 = 109 + 0;
  • 109 ÷ 2 = 54 + 1;
  • 54 ÷ 2 = 27 + 0;
  • 27 ÷ 2 = 13 + 1;
  • 13 ÷ 2 = 6 + 1;
  • 6 ÷ 2 = 3 + 0;
  • 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) =


218(10) =


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


101 1010 1010 1100 0101 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) =
1101 1010


Mantissa (23 bits) =
101 1010 1010 1100 0101 1000


Decimal number 4 229 755 273 241 196 160 948 318 176 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1101 1010 - 101 1010 1010 1100 0101 1000

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