-1 148 808 356 456 832 895 106 387 279 855 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal -1 148 808 356 456 832 895 106 387 279 855(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
-1 148 808 356 456 832 895 106 387 279 855(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. Start with the positive version of the number:

|-1 148 808 356 456 832 895 106 387 279 855| = 1 148 808 356 456 832 895 106 387 279 855


2. 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;
  • 1 148 808 356 456 832 895 106 387 279 855 ÷ 2 = 574 404 178 228 416 447 553 193 639 927 + 1;
  • 574 404 178 228 416 447 553 193 639 927 ÷ 2 = 287 202 089 114 208 223 776 596 819 963 + 1;
  • 287 202 089 114 208 223 776 596 819 963 ÷ 2 = 143 601 044 557 104 111 888 298 409 981 + 1;
  • 143 601 044 557 104 111 888 298 409 981 ÷ 2 = 71 800 522 278 552 055 944 149 204 990 + 1;
  • 71 800 522 278 552 055 944 149 204 990 ÷ 2 = 35 900 261 139 276 027 972 074 602 495 + 0;
  • 35 900 261 139 276 027 972 074 602 495 ÷ 2 = 17 950 130 569 638 013 986 037 301 247 + 1;
  • 17 950 130 569 638 013 986 037 301 247 ÷ 2 = 8 975 065 284 819 006 993 018 650 623 + 1;
  • 8 975 065 284 819 006 993 018 650 623 ÷ 2 = 4 487 532 642 409 503 496 509 325 311 + 1;
  • 4 487 532 642 409 503 496 509 325 311 ÷ 2 = 2 243 766 321 204 751 748 254 662 655 + 1;
  • 2 243 766 321 204 751 748 254 662 655 ÷ 2 = 1 121 883 160 602 375 874 127 331 327 + 1;
  • 1 121 883 160 602 375 874 127 331 327 ÷ 2 = 560 941 580 301 187 937 063 665 663 + 1;
  • 560 941 580 301 187 937 063 665 663 ÷ 2 = 280 470 790 150 593 968 531 832 831 + 1;
  • 280 470 790 150 593 968 531 832 831 ÷ 2 = 140 235 395 075 296 984 265 916 415 + 1;
  • 140 235 395 075 296 984 265 916 415 ÷ 2 = 70 117 697 537 648 492 132 958 207 + 1;
  • 70 117 697 537 648 492 132 958 207 ÷ 2 = 35 058 848 768 824 246 066 479 103 + 1;
  • 35 058 848 768 824 246 066 479 103 ÷ 2 = 17 529 424 384 412 123 033 239 551 + 1;
  • 17 529 424 384 412 123 033 239 551 ÷ 2 = 8 764 712 192 206 061 516 619 775 + 1;
  • 8 764 712 192 206 061 516 619 775 ÷ 2 = 4 382 356 096 103 030 758 309 887 + 1;
  • 4 382 356 096 103 030 758 309 887 ÷ 2 = 2 191 178 048 051 515 379 154 943 + 1;
  • 2 191 178 048 051 515 379 154 943 ÷ 2 = 1 095 589 024 025 757 689 577 471 + 1;
  • 1 095 589 024 025 757 689 577 471 ÷ 2 = 547 794 512 012 878 844 788 735 + 1;
  • 547 794 512 012 878 844 788 735 ÷ 2 = 273 897 256 006 439 422 394 367 + 1;
  • 273 897 256 006 439 422 394 367 ÷ 2 = 136 948 628 003 219 711 197 183 + 1;
  • 136 948 628 003 219 711 197 183 ÷ 2 = 68 474 314 001 609 855 598 591 + 1;
  • 68 474 314 001 609 855 598 591 ÷ 2 = 34 237 157 000 804 927 799 295 + 1;
  • 34 237 157 000 804 927 799 295 ÷ 2 = 17 118 578 500 402 463 899 647 + 1;
  • 17 118 578 500 402 463 899 647 ÷ 2 = 8 559 289 250 201 231 949 823 + 1;
  • 8 559 289 250 201 231 949 823 ÷ 2 = 4 279 644 625 100 615 974 911 + 1;
  • 4 279 644 625 100 615 974 911 ÷ 2 = 2 139 822 312 550 307 987 455 + 1;
  • 2 139 822 312 550 307 987 455 ÷ 2 = 1 069 911 156 275 153 993 727 + 1;
  • 1 069 911 156 275 153 993 727 ÷ 2 = 534 955 578 137 576 996 863 + 1;
  • 534 955 578 137 576 996 863 ÷ 2 = 267 477 789 068 788 498 431 + 1;
  • 267 477 789 068 788 498 431 ÷ 2 = 133 738 894 534 394 249 215 + 1;
  • 133 738 894 534 394 249 215 ÷ 2 = 66 869 447 267 197 124 607 + 1;
  • 66 869 447 267 197 124 607 ÷ 2 = 33 434 723 633 598 562 303 + 1;
  • 33 434 723 633 598 562 303 ÷ 2 = 16 717 361 816 799 281 151 + 1;
  • 16 717 361 816 799 281 151 ÷ 2 = 8 358 680 908 399 640 575 + 1;
  • 8 358 680 908 399 640 575 ÷ 2 = 4 179 340 454 199 820 287 + 1;
  • 4 179 340 454 199 820 287 ÷ 2 = 2 089 670 227 099 910 143 + 1;
  • 2 089 670 227 099 910 143 ÷ 2 = 1 044 835 113 549 955 071 + 1;
  • 1 044 835 113 549 955 071 ÷ 2 = 522 417 556 774 977 535 + 1;
  • 522 417 556 774 977 535 ÷ 2 = 261 208 778 387 488 767 + 1;
  • 261 208 778 387 488 767 ÷ 2 = 130 604 389 193 744 383 + 1;
  • 130 604 389 193 744 383 ÷ 2 = 65 302 194 596 872 191 + 1;
  • 65 302 194 596 872 191 ÷ 2 = 32 651 097 298 436 095 + 1;
  • 32 651 097 298 436 095 ÷ 2 = 16 325 548 649 218 047 + 1;
  • 16 325 548 649 218 047 ÷ 2 = 8 162 774 324 609 023 + 1;
  • 8 162 774 324 609 023 ÷ 2 = 4 081 387 162 304 511 + 1;
  • 4 081 387 162 304 511 ÷ 2 = 2 040 693 581 152 255 + 1;
  • 2 040 693 581 152 255 ÷ 2 = 1 020 346 790 576 127 + 1;
  • 1 020 346 790 576 127 ÷ 2 = 510 173 395 288 063 + 1;
  • 510 173 395 288 063 ÷ 2 = 255 086 697 644 031 + 1;
  • 255 086 697 644 031 ÷ 2 = 127 543 348 822 015 + 1;
  • 127 543 348 822 015 ÷ 2 = 63 771 674 411 007 + 1;
  • 63 771 674 411 007 ÷ 2 = 31 885 837 205 503 + 1;
  • 31 885 837 205 503 ÷ 2 = 15 942 918 602 751 + 1;
  • 15 942 918 602 751 ÷ 2 = 7 971 459 301 375 + 1;
  • 7 971 459 301 375 ÷ 2 = 3 985 729 650 687 + 1;
  • 3 985 729 650 687 ÷ 2 = 1 992 864 825 343 + 1;
  • 1 992 864 825 343 ÷ 2 = 996 432 412 671 + 1;
  • 996 432 412 671 ÷ 2 = 498 216 206 335 + 1;
  • 498 216 206 335 ÷ 2 = 249 108 103 167 + 1;
  • 249 108 103 167 ÷ 2 = 124 554 051 583 + 1;
  • 124 554 051 583 ÷ 2 = 62 277 025 791 + 1;
  • 62 277 025 791 ÷ 2 = 31 138 512 895 + 1;
  • 31 138 512 895 ÷ 2 = 15 569 256 447 + 1;
  • 15 569 256 447 ÷ 2 = 7 784 628 223 + 1;
  • 7 784 628 223 ÷ 2 = 3 892 314 111 + 1;
  • 3 892 314 111 ÷ 2 = 1 946 157 055 + 1;
  • 1 946 157 055 ÷ 2 = 973 078 527 + 1;
  • 973 078 527 ÷ 2 = 486 539 263 + 1;
  • 486 539 263 ÷ 2 = 243 269 631 + 1;
  • 243 269 631 ÷ 2 = 121 634 815 + 1;
  • 121 634 815 ÷ 2 = 60 817 407 + 1;
  • 60 817 407 ÷ 2 = 30 408 703 + 1;
  • 30 408 703 ÷ 2 = 15 204 351 + 1;
  • 15 204 351 ÷ 2 = 7 602 175 + 1;
  • 7 602 175 ÷ 2 = 3 801 087 + 1;
  • 3 801 087 ÷ 2 = 1 900 543 + 1;
  • 1 900 543 ÷ 2 = 950 271 + 1;
  • 950 271 ÷ 2 = 475 135 + 1;
  • 475 135 ÷ 2 = 237 567 + 1;
  • 237 567 ÷ 2 = 118 783 + 1;
  • 118 783 ÷ 2 = 59 391 + 1;
  • 59 391 ÷ 2 = 29 695 + 1;
  • 29 695 ÷ 2 = 14 847 + 1;
  • 14 847 ÷ 2 = 7 423 + 1;
  • 7 423 ÷ 2 = 3 711 + 1;
  • 3 711 ÷ 2 = 1 855 + 1;
  • 1 855 ÷ 2 = 927 + 1;
  • 927 ÷ 2 = 463 + 1;
  • 463 ÷ 2 = 231 + 1;
  • 231 ÷ 2 = 115 + 1;
  • 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;

3. Construct the base 2 representation of the positive number.

Take all the remainders starting from the bottom of the list constructed above.

1 148 808 356 456 832 895 106 387 279 855(10) =


1110 0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110 1111(2)


4. Normalize the binary representation of the number.

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


1 148 808 356 456 832 895 106 387 279 855(10) =


1110 0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110 1111(2) =


1110 0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110 1111(2) × 20 =


1.1100 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1101 111(2) × 299


5. 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 1 (a negative number)


Exponent (unadjusted): 99


Mantissa (not normalized):
1.1100 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1101 111


6. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


99 + 2(8-1) - 1 =


(99 + 127)(10) =


226(10)


7. 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;
  • 226 ÷ 2 = 113 + 0;
  • 113 ÷ 2 = 56 + 1;
  • 56 ÷ 2 = 28 + 0;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 7 ÷ 2 = 3 + 1;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

8. Construct the base 2 representation of the adjusted exponent.

Take all the remainders starting from the bottom of the list constructed above.


Exponent (adjusted) =


226(10) =


1110 0010(2)


9. 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. 110 0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110 1111 =


110 0111 1111 1111 1111 1111


10. The three elements that make up the number's 32 bit single precision IEEE 754 binary floating point representation:

Sign (1 bit) =
1 (a negative number)


Exponent (8 bits) =
1110 0010


Mantissa (23 bits) =
110 0111 1111 1111 1111 1111


Decimal number -1 148 808 356 456 832 895 106 387 279 855 converted to 32 bit single precision IEEE 754 binary floating point representation:

1 - 1110 0010 - 110 0111 1111 1111 1111 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