11 010 110 101 101 101 011 000 000 000 330 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 11 010 110 101 101 101 011 000 000 000 330(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
11 010 110 101 101 101 011 000 000 000 330(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;
  • 11 010 110 101 101 101 011 000 000 000 330 ÷ 2 = 5 505 055 050 550 550 505 500 000 000 165 + 0;
  • 5 505 055 050 550 550 505 500 000 000 165 ÷ 2 = 2 752 527 525 275 275 252 750 000 000 082 + 1;
  • 2 752 527 525 275 275 252 750 000 000 082 ÷ 2 = 1 376 263 762 637 637 626 375 000 000 041 + 0;
  • 1 376 263 762 637 637 626 375 000 000 041 ÷ 2 = 688 131 881 318 818 813 187 500 000 020 + 1;
  • 688 131 881 318 818 813 187 500 000 020 ÷ 2 = 344 065 940 659 409 406 593 750 000 010 + 0;
  • 344 065 940 659 409 406 593 750 000 010 ÷ 2 = 172 032 970 329 704 703 296 875 000 005 + 0;
  • 172 032 970 329 704 703 296 875 000 005 ÷ 2 = 86 016 485 164 852 351 648 437 500 002 + 1;
  • 86 016 485 164 852 351 648 437 500 002 ÷ 2 = 43 008 242 582 426 175 824 218 750 001 + 0;
  • 43 008 242 582 426 175 824 218 750 001 ÷ 2 = 21 504 121 291 213 087 912 109 375 000 + 1;
  • 21 504 121 291 213 087 912 109 375 000 ÷ 2 = 10 752 060 645 606 543 956 054 687 500 + 0;
  • 10 752 060 645 606 543 956 054 687 500 ÷ 2 = 5 376 030 322 803 271 978 027 343 750 + 0;
  • 5 376 030 322 803 271 978 027 343 750 ÷ 2 = 2 688 015 161 401 635 989 013 671 875 + 0;
  • 2 688 015 161 401 635 989 013 671 875 ÷ 2 = 1 344 007 580 700 817 994 506 835 937 + 1;
  • 1 344 007 580 700 817 994 506 835 937 ÷ 2 = 672 003 790 350 408 997 253 417 968 + 1;
  • 672 003 790 350 408 997 253 417 968 ÷ 2 = 336 001 895 175 204 498 626 708 984 + 0;
  • 336 001 895 175 204 498 626 708 984 ÷ 2 = 168 000 947 587 602 249 313 354 492 + 0;
  • 168 000 947 587 602 249 313 354 492 ÷ 2 = 84 000 473 793 801 124 656 677 246 + 0;
  • 84 000 473 793 801 124 656 677 246 ÷ 2 = 42 000 236 896 900 562 328 338 623 + 0;
  • 42 000 236 896 900 562 328 338 623 ÷ 2 = 21 000 118 448 450 281 164 169 311 + 1;
  • 21 000 118 448 450 281 164 169 311 ÷ 2 = 10 500 059 224 225 140 582 084 655 + 1;
  • 10 500 059 224 225 140 582 084 655 ÷ 2 = 5 250 029 612 112 570 291 042 327 + 1;
  • 5 250 029 612 112 570 291 042 327 ÷ 2 = 2 625 014 806 056 285 145 521 163 + 1;
  • 2 625 014 806 056 285 145 521 163 ÷ 2 = 1 312 507 403 028 142 572 760 581 + 1;
  • 1 312 507 403 028 142 572 760 581 ÷ 2 = 656 253 701 514 071 286 380 290 + 1;
  • 656 253 701 514 071 286 380 290 ÷ 2 = 328 126 850 757 035 643 190 145 + 0;
  • 328 126 850 757 035 643 190 145 ÷ 2 = 164 063 425 378 517 821 595 072 + 1;
  • 164 063 425 378 517 821 595 072 ÷ 2 = 82 031 712 689 258 910 797 536 + 0;
  • 82 031 712 689 258 910 797 536 ÷ 2 = 41 015 856 344 629 455 398 768 + 0;
  • 41 015 856 344 629 455 398 768 ÷ 2 = 20 507 928 172 314 727 699 384 + 0;
  • 20 507 928 172 314 727 699 384 ÷ 2 = 10 253 964 086 157 363 849 692 + 0;
  • 10 253 964 086 157 363 849 692 ÷ 2 = 5 126 982 043 078 681 924 846 + 0;
  • 5 126 982 043 078 681 924 846 ÷ 2 = 2 563 491 021 539 340 962 423 + 0;
  • 2 563 491 021 539 340 962 423 ÷ 2 = 1 281 745 510 769 670 481 211 + 1;
  • 1 281 745 510 769 670 481 211 ÷ 2 = 640 872 755 384 835 240 605 + 1;
  • 640 872 755 384 835 240 605 ÷ 2 = 320 436 377 692 417 620 302 + 1;
  • 320 436 377 692 417 620 302 ÷ 2 = 160 218 188 846 208 810 151 + 0;
  • 160 218 188 846 208 810 151 ÷ 2 = 80 109 094 423 104 405 075 + 1;
  • 80 109 094 423 104 405 075 ÷ 2 = 40 054 547 211 552 202 537 + 1;
  • 40 054 547 211 552 202 537 ÷ 2 = 20 027 273 605 776 101 268 + 1;
  • 20 027 273 605 776 101 268 ÷ 2 = 10 013 636 802 888 050 634 + 0;
  • 10 013 636 802 888 050 634 ÷ 2 = 5 006 818 401 444 025 317 + 0;
  • 5 006 818 401 444 025 317 ÷ 2 = 2 503 409 200 722 012 658 + 1;
  • 2 503 409 200 722 012 658 ÷ 2 = 1 251 704 600 361 006 329 + 0;
  • 1 251 704 600 361 006 329 ÷ 2 = 625 852 300 180 503 164 + 1;
  • 625 852 300 180 503 164 ÷ 2 = 312 926 150 090 251 582 + 0;
  • 312 926 150 090 251 582 ÷ 2 = 156 463 075 045 125 791 + 0;
  • 156 463 075 045 125 791 ÷ 2 = 78 231 537 522 562 895 + 1;
  • 78 231 537 522 562 895 ÷ 2 = 39 115 768 761 281 447 + 1;
  • 39 115 768 761 281 447 ÷ 2 = 19 557 884 380 640 723 + 1;
  • 19 557 884 380 640 723 ÷ 2 = 9 778 942 190 320 361 + 1;
  • 9 778 942 190 320 361 ÷ 2 = 4 889 471 095 160 180 + 1;
  • 4 889 471 095 160 180 ÷ 2 = 2 444 735 547 580 090 + 0;
  • 2 444 735 547 580 090 ÷ 2 = 1 222 367 773 790 045 + 0;
  • 1 222 367 773 790 045 ÷ 2 = 611 183 886 895 022 + 1;
  • 611 183 886 895 022 ÷ 2 = 305 591 943 447 511 + 0;
  • 305 591 943 447 511 ÷ 2 = 152 795 971 723 755 + 1;
  • 152 795 971 723 755 ÷ 2 = 76 397 985 861 877 + 1;
  • 76 397 985 861 877 ÷ 2 = 38 198 992 930 938 + 1;
  • 38 198 992 930 938 ÷ 2 = 19 099 496 465 469 + 0;
  • 19 099 496 465 469 ÷ 2 = 9 549 748 232 734 + 1;
  • 9 549 748 232 734 ÷ 2 = 4 774 874 116 367 + 0;
  • 4 774 874 116 367 ÷ 2 = 2 387 437 058 183 + 1;
  • 2 387 437 058 183 ÷ 2 = 1 193 718 529 091 + 1;
  • 1 193 718 529 091 ÷ 2 = 596 859 264 545 + 1;
  • 596 859 264 545 ÷ 2 = 298 429 632 272 + 1;
  • 298 429 632 272 ÷ 2 = 149 214 816 136 + 0;
  • 149 214 816 136 ÷ 2 = 74 607 408 068 + 0;
  • 74 607 408 068 ÷ 2 = 37 303 704 034 + 0;
  • 37 303 704 034 ÷ 2 = 18 651 852 017 + 0;
  • 18 651 852 017 ÷ 2 = 9 325 926 008 + 1;
  • 9 325 926 008 ÷ 2 = 4 662 963 004 + 0;
  • 4 662 963 004 ÷ 2 = 2 331 481 502 + 0;
  • 2 331 481 502 ÷ 2 = 1 165 740 751 + 0;
  • 1 165 740 751 ÷ 2 = 582 870 375 + 1;
  • 582 870 375 ÷ 2 = 291 435 187 + 1;
  • 291 435 187 ÷ 2 = 145 717 593 + 1;
  • 145 717 593 ÷ 2 = 72 858 796 + 1;
  • 72 858 796 ÷ 2 = 36 429 398 + 0;
  • 36 429 398 ÷ 2 = 18 214 699 + 0;
  • 18 214 699 ÷ 2 = 9 107 349 + 1;
  • 9 107 349 ÷ 2 = 4 553 674 + 1;
  • 4 553 674 ÷ 2 = 2 276 837 + 0;
  • 2 276 837 ÷ 2 = 1 138 418 + 1;
  • 1 138 418 ÷ 2 = 569 209 + 0;
  • 569 209 ÷ 2 = 284 604 + 1;
  • 284 604 ÷ 2 = 142 302 + 0;
  • 142 302 ÷ 2 = 71 151 + 0;
  • 71 151 ÷ 2 = 35 575 + 1;
  • 35 575 ÷ 2 = 17 787 + 1;
  • 17 787 ÷ 2 = 8 893 + 1;
  • 8 893 ÷ 2 = 4 446 + 1;
  • 4 446 ÷ 2 = 2 223 + 0;
  • 2 223 ÷ 2 = 1 111 + 1;
  • 1 111 ÷ 2 = 555 + 1;
  • 555 ÷ 2 = 277 + 1;
  • 277 ÷ 2 = 138 + 1;
  • 138 ÷ 2 = 69 + 0;
  • 69 ÷ 2 = 34 + 1;
  • 34 ÷ 2 = 17 + 0;
  • 17 ÷ 2 = 8 + 1;
  • 8 ÷ 2 = 4 + 0;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 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.

11 010 110 101 101 101 011 000 000 000 330(10) =


1000 1010 1111 0111 1001 0101 1001 1110 0010 0001 1110 1011 1010 0111 1100 1010 0111 0111 0000 0010 1111 1100 0011 0001 0100 1010(2)


3. Normalize the binary representation of the number.

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


11 010 110 101 101 101 011 000 000 000 330(10) =


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


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


1.0001 0101 1110 1111 0010 1011 0011 1100 0100 0011 1101 0111 0100 1111 1001 0100 1110 1110 0000 0101 1111 1000 0110 0010 1001 010(2) × 2103


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


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


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


103 + 2(8-1) - 1 =


(103 + 127)(10) =


230(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;
  • 230 ÷ 2 = 115 + 0;
  • 115 ÷ 2 = 57 + 1;
  • 57 ÷ 2 = 28 + 1;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 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) =


230(10) =


1110 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. 000 1010 1111 0111 1001 0101 1001 1110 0010 0001 1110 1011 1010 0111 1100 1010 0111 0111 0000 0010 1111 1100 0011 0001 0100 1010 =


000 1010 1111 0111 1001 0101


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


Mantissa (23 bits) =
000 1010 1111 0111 1001 0101


Decimal number 11 010 110 101 101 101 011 000 000 000 330 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0110 - 000 1010 1111 0111 1001 0101


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