594 434 943 828 353 812 818 559 339 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 594 434 943 828 353 812 818 559 339(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
594 434 943 828 353 812 818 559 339(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;
  • 594 434 943 828 353 812 818 559 339 ÷ 2 = 297 217 471 914 176 906 409 279 669 + 1;
  • 297 217 471 914 176 906 409 279 669 ÷ 2 = 148 608 735 957 088 453 204 639 834 + 1;
  • 148 608 735 957 088 453 204 639 834 ÷ 2 = 74 304 367 978 544 226 602 319 917 + 0;
  • 74 304 367 978 544 226 602 319 917 ÷ 2 = 37 152 183 989 272 113 301 159 958 + 1;
  • 37 152 183 989 272 113 301 159 958 ÷ 2 = 18 576 091 994 636 056 650 579 979 + 0;
  • 18 576 091 994 636 056 650 579 979 ÷ 2 = 9 288 045 997 318 028 325 289 989 + 1;
  • 9 288 045 997 318 028 325 289 989 ÷ 2 = 4 644 022 998 659 014 162 644 994 + 1;
  • 4 644 022 998 659 014 162 644 994 ÷ 2 = 2 322 011 499 329 507 081 322 497 + 0;
  • 2 322 011 499 329 507 081 322 497 ÷ 2 = 1 161 005 749 664 753 540 661 248 + 1;
  • 1 161 005 749 664 753 540 661 248 ÷ 2 = 580 502 874 832 376 770 330 624 + 0;
  • 580 502 874 832 376 770 330 624 ÷ 2 = 290 251 437 416 188 385 165 312 + 0;
  • 290 251 437 416 188 385 165 312 ÷ 2 = 145 125 718 708 094 192 582 656 + 0;
  • 145 125 718 708 094 192 582 656 ÷ 2 = 72 562 859 354 047 096 291 328 + 0;
  • 72 562 859 354 047 096 291 328 ÷ 2 = 36 281 429 677 023 548 145 664 + 0;
  • 36 281 429 677 023 548 145 664 ÷ 2 = 18 140 714 838 511 774 072 832 + 0;
  • 18 140 714 838 511 774 072 832 ÷ 2 = 9 070 357 419 255 887 036 416 + 0;
  • 9 070 357 419 255 887 036 416 ÷ 2 = 4 535 178 709 627 943 518 208 + 0;
  • 4 535 178 709 627 943 518 208 ÷ 2 = 2 267 589 354 813 971 759 104 + 0;
  • 2 267 589 354 813 971 759 104 ÷ 2 = 1 133 794 677 406 985 879 552 + 0;
  • 1 133 794 677 406 985 879 552 ÷ 2 = 566 897 338 703 492 939 776 + 0;
  • 566 897 338 703 492 939 776 ÷ 2 = 283 448 669 351 746 469 888 + 0;
  • 283 448 669 351 746 469 888 ÷ 2 = 141 724 334 675 873 234 944 + 0;
  • 141 724 334 675 873 234 944 ÷ 2 = 70 862 167 337 936 617 472 + 0;
  • 70 862 167 337 936 617 472 ÷ 2 = 35 431 083 668 968 308 736 + 0;
  • 35 431 083 668 968 308 736 ÷ 2 = 17 715 541 834 484 154 368 + 0;
  • 17 715 541 834 484 154 368 ÷ 2 = 8 857 770 917 242 077 184 + 0;
  • 8 857 770 917 242 077 184 ÷ 2 = 4 428 885 458 621 038 592 + 0;
  • 4 428 885 458 621 038 592 ÷ 2 = 2 214 442 729 310 519 296 + 0;
  • 2 214 442 729 310 519 296 ÷ 2 = 1 107 221 364 655 259 648 + 0;
  • 1 107 221 364 655 259 648 ÷ 2 = 553 610 682 327 629 824 + 0;
  • 553 610 682 327 629 824 ÷ 2 = 276 805 341 163 814 912 + 0;
  • 276 805 341 163 814 912 ÷ 2 = 138 402 670 581 907 456 + 0;
  • 138 402 670 581 907 456 ÷ 2 = 69 201 335 290 953 728 + 0;
  • 69 201 335 290 953 728 ÷ 2 = 34 600 667 645 476 864 + 0;
  • 34 600 667 645 476 864 ÷ 2 = 17 300 333 822 738 432 + 0;
  • 17 300 333 822 738 432 ÷ 2 = 8 650 166 911 369 216 + 0;
  • 8 650 166 911 369 216 ÷ 2 = 4 325 083 455 684 608 + 0;
  • 4 325 083 455 684 608 ÷ 2 = 2 162 541 727 842 304 + 0;
  • 2 162 541 727 842 304 ÷ 2 = 1 081 270 863 921 152 + 0;
  • 1 081 270 863 921 152 ÷ 2 = 540 635 431 960 576 + 0;
  • 540 635 431 960 576 ÷ 2 = 270 317 715 980 288 + 0;
  • 270 317 715 980 288 ÷ 2 = 135 158 857 990 144 + 0;
  • 135 158 857 990 144 ÷ 2 = 67 579 428 995 072 + 0;
  • 67 579 428 995 072 ÷ 2 = 33 789 714 497 536 + 0;
  • 33 789 714 497 536 ÷ 2 = 16 894 857 248 768 + 0;
  • 16 894 857 248 768 ÷ 2 = 8 447 428 624 384 + 0;
  • 8 447 428 624 384 ÷ 2 = 4 223 714 312 192 + 0;
  • 4 223 714 312 192 ÷ 2 = 2 111 857 156 096 + 0;
  • 2 111 857 156 096 ÷ 2 = 1 055 928 578 048 + 0;
  • 1 055 928 578 048 ÷ 2 = 527 964 289 024 + 0;
  • 527 964 289 024 ÷ 2 = 263 982 144 512 + 0;
  • 263 982 144 512 ÷ 2 = 131 991 072 256 + 0;
  • 131 991 072 256 ÷ 2 = 65 995 536 128 + 0;
  • 65 995 536 128 ÷ 2 = 32 997 768 064 + 0;
  • 32 997 768 064 ÷ 2 = 16 498 884 032 + 0;
  • 16 498 884 032 ÷ 2 = 8 249 442 016 + 0;
  • 8 249 442 016 ÷ 2 = 4 124 721 008 + 0;
  • 4 124 721 008 ÷ 2 = 2 062 360 504 + 0;
  • 2 062 360 504 ÷ 2 = 1 031 180 252 + 0;
  • 1 031 180 252 ÷ 2 = 515 590 126 + 0;
  • 515 590 126 ÷ 2 = 257 795 063 + 0;
  • 257 795 063 ÷ 2 = 128 897 531 + 1;
  • 128 897 531 ÷ 2 = 64 448 765 + 1;
  • 64 448 765 ÷ 2 = 32 224 382 + 1;
  • 32 224 382 ÷ 2 = 16 112 191 + 0;
  • 16 112 191 ÷ 2 = 8 056 095 + 1;
  • 8 056 095 ÷ 2 = 4 028 047 + 1;
  • 4 028 047 ÷ 2 = 2 014 023 + 1;
  • 2 014 023 ÷ 2 = 1 007 011 + 1;
  • 1 007 011 ÷ 2 = 503 505 + 1;
  • 503 505 ÷ 2 = 251 752 + 1;
  • 251 752 ÷ 2 = 125 876 + 0;
  • 125 876 ÷ 2 = 62 938 + 0;
  • 62 938 ÷ 2 = 31 469 + 0;
  • 31 469 ÷ 2 = 15 734 + 1;
  • 15 734 ÷ 2 = 7 867 + 0;
  • 7 867 ÷ 2 = 3 933 + 1;
  • 3 933 ÷ 2 = 1 966 + 1;
  • 1 966 ÷ 2 = 983 + 0;
  • 983 ÷ 2 = 491 + 1;
  • 491 ÷ 2 = 245 + 1;
  • 245 ÷ 2 = 122 + 1;
  • 122 ÷ 2 = 61 + 0;
  • 61 ÷ 2 = 30 + 1;
  • 30 ÷ 2 = 15 + 0;
  • 15 ÷ 2 = 7 + 1;
  • 7 ÷ 2 = 3 + 1;
  • 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.

594 434 943 828 353 812 818 559 339(10) =


1 1110 1011 1011 0100 0111 1110 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 1011(2)


3. Normalize the binary representation of the number.

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


594 434 943 828 353 812 818 559 339(10) =


1 1110 1011 1011 0100 0111 1110 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 1011(2) =


1 1110 1011 1011 0100 0111 1110 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 1011(2) × 20 =


1.1110 1011 1011 0100 0111 1110 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 1011(2) × 288


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


Mantissa (not normalized):
1.1110 1011 1011 0100 0111 1110 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 1011


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


88 + 2(8-1) - 1 =


(88 + 127)(10) =


215(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;
  • 215 ÷ 2 = 107 + 1;
  • 107 ÷ 2 = 53 + 1;
  • 53 ÷ 2 = 26 + 1;
  • 26 ÷ 2 = 13 + 0;
  • 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) =


215(10) =


1101 0111(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. 111 0101 1101 1010 0011 1111 0 1110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0110 1011 =


111 0101 1101 1010 0011 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) =
1101 0111


Mantissa (23 bits) =
111 0101 1101 1010 0011 1111


Decimal number 594 434 943 828 353 812 818 559 339 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1101 0111 - 111 0101 1101 1010 0011 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